Tôi đang đọc một dòng tập tin, và tôi đang cố gắng để làm cho nó để nếu tôi nhận được một dòng phù hợp với các thông số cụ thể của tôi (trong trường hợp của tôi nếu nó bắt đầu với một từ nào đó), rằng tôi có thể ghi đè lên dòng đó.Đọc và Ghi vào một tập tin cùng một lúc trong java
mã hiện tại của tôi:
try {
FileInputStream fis = new FileInputStream(myFile);
DataInputStream in = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
if (line.startsWith("word")) {
// replace line code here
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
... nơi myFile
là một đối tượng File
.
Như mọi khi, mọi trợ giúp, ví dụ hoặc đề xuất đều được đánh giá cao.
Cảm ơn!
Tại sao không đọc toàn bộ tệp trong cùng một lúc, hãy đóng tệp, mở tệp để viết và sau đó viết ra mọi dòng sau khi thực hiện chuyển đổi trên đó? – Patashu
@Patashu Nếu đó là một tệp lớn thì phương pháp được đề xuất của tôi sẽ hoạt động tốt hơn nhiều. – iphonedev7
Vui lòng không sử dụng DataInputStream để đọc văn bản http://vanillajava.blogspot.co.uk/2012/08/java-memes-which-refuse-to-die.html –