gpt4 book ai didi

java - 同时读写java

转载 作者:行者123 更新时间:2023-11-30 09:24:18 25 4
gpt4 key购买 nike

我正在处理 java 应用程序,我正在处理读取和写文件。但是我想同时进行这个过程。作为我的文件是日志文件,我正在按某个时间间隔从中读取内容我使用了 java.util.Timer。在这段时间里,我正在尝试在文件中写入一些内容,但这不是在我的更新日志文件。

我的定时器类是

public class Timer extends java.util.Timer {

public void startTimer() {
Timer t = new Timer();
Task task = new Task();
t.schedule(task, 0, 10000);
}
}

我的类形式调用的文件读写类

public class Task extends TimerTask {

@Override
public void run() {
System.out.println("In task ....");
try {
SMSQuestions smsQuestions = new SMSQuestions();

smsQuestions.sendSMSAnswer();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

我的文件读写类是

public void sendSMSAnswer()
{
long sender;
String question;

try {
BufferedReader br = new BufferedReader(new FileReader("C:/temp/NowSMS/TEST.log"));
String line = br.readLine();

while (line != null) {
sender = 0;
question = "";
System.out.println(line);
line = br.readLine();
}
//To delete all contents in file
BufferedWriter bw = new BufferedWriter(new FileWriter("C:/temp/NowSMS/TEST.log"));
bw.write("");

getDetails();

}catch(Exception exp)
{
exp.printStackTrace();
}
}

我的问题是当我通过写入新内容来更新我的日志文件时无法更新,所以我的问题是:在 Java 中是否可以同时读写文件?

最佳答案

我建议您看一下随机访问文件(参见 http://docs.oracle.com/javase/tutorial/essential/io/rafs.html)。这个 API 使用起来有点复杂,因为您将读取字节而不是行,但它应该可以满足您的需求。

如果你不想和 NIO 打交道,你可以使用 http://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html反而。

关于java - 同时读写java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15758584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com