import java.io.*;
import java.util.*;
public class Parser
{
public static void main(String []args)
{
System.out.println("starting timer .....");
long startTime = 0, endTime = 0;
try{
FileOutputStream fos = new FileOutputStream("out.txt");
DataOutputStream dos = new DataOutputStream(fos);
Double b = new Double(0.0);
startTime = System.currentTimeMillis();
for(int i = 0; i < 1000000; i++)
{
dos.writeDouble(b);
b += 1.0;
}
endTime = System.currentTimeMillis();
//Close the output stream
fos.close();
dos.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
System.out.println("finished writing 1 million doubles as bytes to out.txt");
System.out.println("elapsed write time = "+((endTime-startTime))+" ms");
ArrayList
list = new ArrayList();
try{
FileInputStream fis = new FileInputStream("out.txt");
DataInputStream dis = new DataInputStream(fis);
boolean EOF = false;
startTime = System.currentTimeMillis();
while(!EOF)
{
try
{
list.add(new Double(dis.readDouble()));
}catch(EOFException e){ EOF = true; }
}
endTime = System.currentTimeMillis();
//Close the output stream
fis.close();
dis.close();
}catch (Exception e){//Catch exception if any
}
System.out.println("finished reading 1 doubles from out.txt");
System.out.println("array list size = "+list.size());
System.out.println("elapsed read time = "+((endTime-startTime)/1000)+" ms");
}
}