如何寻找文件的开头?
我需要再次阅读该文件(例如,其他流程/应用程序更改的数据),因此不再需要close
/ open()
。
File patternDirectory = new File("/temp/conf_file");
FileInputStream dataInput = new FileInputStream(new File(patternDirectory .getAbsolutePath().toString()));
private void readfile() {
int len;
byte[] buffer = new byte[1024];
if ((len = dataInput.read(buffer)) != -1)
System.out.println("Read OK:" + len);
/* File is small and this will reach at end of file*/
}
答案 0 :(得分:1)
您可以使用bufferedReader
与FileInputStream
一起阅读数据。如果文件已经关闭,这将有效,如果没有,如@bot所述,我不认为这可以用Java完成。
他举例说明了如何使用bufferedReader
和FileInputStream
:
FileInputStream fin = new FileInputStream(//file path);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fin));
如果您想重新定位到文件的开头,请使用
fin.getChannel().position(0);
BufferedReader foo = new BufferedReader(new InputStreamReader(fin));
这将使用新的阅读器重新定位到文件的开头。
详细了解BufferedReader
here。