如何查找文件开头?
我需要再次读取文件(例如,其他进程/应用程序更改的数据),因此不想再次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*/
}
最佳答案
您可以使用 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 .
关于java - 如何在使用 FileInputStream() 创建的文件的开头查找(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29446426/