IO: ClassicIoUnbuffered

Totally unbuffered linecount
This commit is contained in:
Karsten Jeppesen
2021-04-12 21:28:52 +02:00
parent 6eedc15f4f
commit e544139cf4
4 changed files with 126 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* @author KAJE
*
*/
public class ClassicIoUnbuffered {
private static int lineCount(String path){
FileInputStream fis = null;
try {
fis = new FileInputStream(path);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return -1;
}
int cnt = 0;
int b;
try {
while ((b = fis.read()) != -1) {
if (b == '\n') cnt++;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return cnt;
}
public static void main(String[] args){
long startTime = System.nanoTime();
System.out.println("Lines: " + String.valueOf(lineCount("input.txt")));
long stopTime = System.nanoTime();
System.out.println("Time it took: " + (stopTime - startTime));
}
}