在同一個執行緒中,開啟除錯模式(或者利用執行緒休眠),利用IO流讀取檔案內容,然后修改檔案內容,再次執行讀取的方法,發現兩次讀取的內容都一樣。也就是說第二次讀取的還是原來的內容。在不重啟程式的情況下,有辦法做到讀取最新的資料么。這看著像是IO流的bug。
public class Demo {
public static String read(File file) {
byte[] bytes = null;
try {
FileInputStream fin = new FileInputStream(file);
int available = fin.available();
bytes = new byte[available];
fin.read(bytes);
} catch (IOException e) {
e.printStackTrace();
}
return new String(bytes);
}
public static void main(String[] args) {
File file = new File("C:\\Users\\Administrator\\Desktop\\dd\\src\\123.txt");
String content = read(file);
System.out.println("content = " + content);
content = read(file);
System.out.println("content = " + content);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/92076.html
標籤:Java相關
下一篇:多執行緒的匿名內部類問題
