OutOfMemoryError, already have set VM arguments
I have to read an extremely large text file (1.16 gb, several million lines)
I am getting an OutOfMemoryError.
I have set VM arguments -Xms1024m -Xmx1024M
As I understand it, setting them to anything greater than these values doesn't have much effect.
What can I do?
staticpublic Vector< String > readOneFile( String filename )
{
Vector< String > vector =new Vector();// data to return
BufferedReader bufferedReader;
String line ="";
String[] lineOfTokens =null;
// read all lines from file
int lineNumber = -1;
try{
BufferedReader br =new BufferedReader(new FileReader( filename ) );
while ( ( line = br.readLine() ) !=null ){
lineNumber++;
vector.add( line );
}// end while still lines to read
}// end try
catch ( FileNotFoundException e ){
System.out.println("FileIO.readDataFile(): " + e +"\n\t\tFile not found: " + filename );
filename =null;
}
catch ( IOException e ){
System.out.println( e +"FileIO.readDataFile(): Problem with file: " + filename );
filename =null;
}
catch ( NullPointerException e ){
System.out.println( e +"FileIO.readDataFile(): Null pointer, file: " + filename );
filename =null;
}
catch ( OutOfMemoryError e ){
System.out.println( e +"FileIO.readDataFile(): OutOfMemoryError, file: " + filename );
System.out.println ("Line number = " + lineNumber);
filename =null;
System.exit(-1);
}
return vector;
}// end()

