BufferedWriter未写入.txt文件[JAVA]
目标:服务器从客户端发送的文本文件中读取数据。服务器将此数据存储在另一个文本文件中 问题:我能够读入文本文件并将其打印到控制台,但是,当我使用BufferedWriter运行代码并在之后打开新文本文件时,该文件为空。我不完全确定我是否错误地使用了BufferedWriter函数,或者是否遗漏了任何关键函数 代码:BufferedWriter未写入.txt文件[JAVA],java,client-server,bufferedreader,bufferedwriter,Java,Client Server,Bufferedreader,Bufferedwriter,目标:服务器从客户端发送的文本文件中读取数据。服务器将此数据存储在另一个文本文件中 问题:我能够读入文本文件并将其打印到控制台,但是,当我使用BufferedWriter运行代码并在之后打开新文本文件时,该文件为空。我不完全确定我是否错误地使用了BufferedWriter函数,或者是否遗漏了任何关键函数 代码: 您的代码不完整。我会突发奇想,假设你的问题 加 在代码末尾。您从未对BufferedWriter实例调用flush或close,事实上,您完全忽略了它。此外,您的资源管理不存在。如果打
您的代码不完整。我会突发奇想,假设你的问题 加 在代码末尾。您从未对BufferedWriter实例调用flush或close,事实上,您完全忽略了它。此外,您的资源管理不存在。如果打开资源,则应将其关闭 例如
FileReader file = new FileReader("client-temp.txt");
try (BufferedReader tc = new BufferedReader(file)) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("datastore.txt"))) {
String line;
while ((line = tc.readLine()) != null)
{
String[] data = line.split(",");
String sensortype = data[0];
String date = data[1];
String time = data[2];
String reading = data[3];
String newdata = sensortype + date + time + reading;
System.out.println(line);
if (line != null)
{
bw.write(line);
bw.newLine();
}
System.out.println("Data sent to file");
}
} catch (IOException exp) {
exp.printStackTrace();
}
} catch (IOException exp) {
exp.printStackTrace();
}
有关更多详细信息,请参阅
ps:您可以复合try with resource语句,在同一try中打开多个资源。。。{section,但我想展示一下基本概念你没有刷新或关闭编写器……此外,你到底在哪里给bw写过信?我用了out.flush?@MadProgrammer但什么是out?我看到的是bw,它从来没有被使用过…@MadProgrammer哦,我明白了。我用错了名字
out.close();
FileReader file = new FileReader("client-temp.txt");
try (BufferedReader tc = new BufferedReader(file)) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("datastore.txt"))) {
String line;
while ((line = tc.readLine()) != null)
{
String[] data = line.split(",");
String sensortype = data[0];
String date = data[1];
String time = data[2];
String reading = data[3];
String newdata = sensortype + date + time + reading;
System.out.println(line);
if (line != null)
{
bw.write(line);
bw.newLine();
}
System.out.println("Data sent to file");
}
} catch (IOException exp) {
exp.printStackTrace();
}
} catch (IOException exp) {
exp.printStackTrace();
}