gpt4 book ai didi

java - 如何在 java 中的 .txt 文件中写入或存储字符串数组

转载 作者:行者123 更新时间:2023-12-04 20:49:39 24 4
gpt4 key购买 nike

我想在 .txt 文件中写入字符串数组。但是在运行我的代码之后,我得到一个空文件。这是我的代码。

public void DataSave() throws IOException {
File fout = new File("Data.txt");
FileOutputStream fos = new FileOutputStream(fout);

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));

String[] numberOfProperty = new String[3];
numberOfProperty[0] = "1";
numberOfProperty[1] = "3";
numberOfProperty[2] = "4";
for (int i = 0; i < numberOfProperty.length; i++) {
bw.write(numberOfProperty[i]);
bw.newLine();
}
}

我无法理解我的代码有什么问题。编译器没有显示任何错误。请帮忙。所有答案将不胜感激。

最佳答案

public void DataSave() {
File fout = new File("Data.txt");
try (FileOutputStream fos = new FileOutputStream(fout); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));) {
String[] numberOfProperty = new String[3];
numberOfProperty[0] = "1";
numberOfProperty[1] = "3";
numberOfProperty[2] = "4";
for (String s : numberOfProperty) {
bw.write(s);
bw.newLine();
}
} catch (IOException ignored) {

}
}

您需要关闭BufferedReader。更好的解决方案是使用 try-with-resources,因此您无需担心关闭。

您可以在 try-with-resources 中有多个资源,用 ; 分隔。


Java 13+,可以使用Path.of() :

public void DataSave() {
File fout = new File("Data.txt");
try (FileOutputStream fos = new FileOutputStream(fout); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));) {
String[] numberOfProperty = new String[3];
numberOfProperty[0] = "1";
numberOfProperty[1] = "3";
numberOfProperty[2] = "4";
Files.write(Path.of("Data.txt"), Collections.singletonList(numberOfProperty));
} catch (IOException ignored) {

}
}

你也可以在一行中写你的数组:

String[] numberOfProperty = {"1", "2", "3"};

关于java - 如何在 java 中的 .txt 文件中写入或存储字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61651759/

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