gpt4 book ai didi

java - writeFile() 方法不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 14:18:57 25 4
gpt4 key购买 nike

我正在尝试写入文本文件。我可以写入控制台,但是无法写入文本文件。我注意到的一件事是,如果我只是打印到控制台,则 String data 不包含任何数据,这可能就是我的文本文件中没有出现任何内容的原因。有谁知道为什么会这样以及我该如何实现它?

writeFile()方法代码:

public static void writeFile(String filename, String content) throws IOException
{
try
{
Files.write(Paths.get(filename), content.getBytes()); // write file
}
catch (IOException e)
{
System.out.println("Error writing file: " + e);
}
}

测试代码:

public class QuickTest {
public static void main(String... p) throws IOException {

List<SensorInfo> readings = new ArrayList<>();
SensorInfo info = null;

String data = createStringFromInfo(readings);
writeFile("datastore.txt", data);

String filedata = readFile("client-temp.txt");

List<SensorInfo> temps = createInfoFromData(filedata);

System.out.println(header());

for (SensorInfo reading : temps) {
System.out.print(reading.display());

}


}

}

CreateFromInfo 方法:

public static String createStringFromInfo(List<SensorInfo> infoList)
{
String data = "";
for (SensorInfo info : infoList)
{
data += info.asData();
}
return data;
}

createInfoFromData

public static List<SensorInfo> createInfoFromData(String data)
{
List<SensorInfo> infoList = new ArrayList<>();

String[] lines = data.split("\n");

for (String line : lines)
{
SensorInfo info = new SensorInfo(line);
infoList.add(info);
}

return infoList;
}

最佳答案

createStringFromInfo() 的实现证实了我的猜测:当它的参数是空列表时,它将返回一个空字符串,就像您的程序中的情况一样。我同意你的观点,这就是为什么你得到一个空文件。

您可以通过使用描述您想要写入文件的信息的 SensorInfo 对象填充 readings 列表来修复此问题(在调用 createStringFromInfo() 之前) >)。如果这些 SensorInfo 对象的数据应来自读取文件“client-temp.txt”,那么您应该首先读取它,然后传递那个 ListcreateStringFromInfo() 以获取要写入的数据。

关于java - writeFile() 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27410182/

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