Tôi cần để có thể bắt chước 'tail -f' với Java. Tôi đang cố gắng đọc một tệp nhật ký vì nó đang được viết bởi một tiến trình khác, nhưng khi tôi mở tệp để đọc nó, nó khóa tệp và quá trình khác không thể ghi vào nó nữa. Mọi sự trợ giúp sẽ rất được trân trọng!Java: mở và đọc từ một tệp mà không khóa nó
Đây là mã mà tôi hiện đang sử dụng:
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());
}
}
}
Nếu không có công trình nào khác hoạt động, bạn có thể sử dụng jni để truy cập vào win32 api (giả sử bạn đang sử dụng windows, nếu không bạn đang làm việc với api nào). – Blindy
sử dụng win32 api sẽ là điều xấu nhất;) – Bozho
Heh vì tôi không biết Java tốt, đó là lời khuyên tốt nhất tôi có :) – Blindy