我需要能夠用Java模擬'tail -f'。我試圖讀取一個日誌文件,因爲它正在被另一個進程寫入,但是當我打開文件來讀取它時,它會鎖定文件,而另一個進程無法再寫入它。任何幫助將不勝感激!Java:在不鎖定的情況下從文件中打開並讀取
這裏是我目前使用的代碼:
public void read(){
Scanner fp = null;
try{
fp = new Scanner(new FileReader(this.filename));
fp.useDelimiter("\n");
}catch(java.io.FileNotFoundException e){
System.out.println("java.io.FileNotFoundException e");
}
while(true){
if(fp.hasNext()){
this.parse(fp.next());
}
}
}
如果沒有別的辦法,你可以(無論API,您正在使用假設你使用的是Windows,否則)使用JNI去Win32 API的。 – Blindy 2010-03-29 10:59:21
使用Win32 API將是最醜陋的東西;) – Bozho 2010-03-29 11:02:01
嘿,因爲我不知道Java中好,這是我最好的建議:) – Blindy 2010-03-29 11:03:04