我想使用java计算文件行,我使用的代码是:
String[] wcCommand = new String[]{"/usr/bin/wc","-l" , filePath};
Process wcProcess=Runtime.getRuntime().exec(wcCommand);
wcProcess.waitFor();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader( wcProcess.getInputStream()));
String numberOfRowsline;
while((numberOfRowsline = bufferedReader.readLine()) != null) {
System.out.print(numberOfRowsline);
}
如果我有5000000行的大文件,那么该命令返回错误的数字。为什么会这样?当我直接从终端执行命令时,返回的值是正确的。
java的输出是:3288079 / PathToFile
终端输出:5000000 / PathToFile