gpt4 book ai didi

java - FileWriter 没有写入我的所有数据

转载 作者:行者123 更新时间:2023-12-01 12:52:09 29 4
gpt4 key购买 nike

所以,基本上它可以工作,但事实并非如此。它不会抛出任何错误,只是没有完成写入文件。它确实读取了文件中的所有行,并且它们的格式都正确。我已经尝试过调试所有这些。调试“currentLine”时,所有行都会显示并且格式正确;但是,如果我检查我正在写入的文件,它会完美地写入其中一些内容,然后会在最后被切断。就像程序没有足够的时间就自杀一样。

我的猜测是写入需要一段时间,并且在文件完成写入之前程序将被终止,如果是这种情况,我该如何避免这种情况?

这是代码。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class Main {

BufferedReader fileReader;
BufferedWriter fileWriter;

private Main() {
try {
fileReader = new BufferedReader(new FileReader("File/spawn-config.cfg"));
fileWriter = new BufferedWriter(new FileWriter("Dumped/world_npcs.json"));
loadFile();
} catch (IOException e) {
e.printStackTrace();
}
}

private void loadFile() {
String currentLine;
try {
fileWriter.write("[\n");
while((currentLine = fileReader.readLine()) != null) {
if(!currentLine.startsWith("//") && !currentLine.startsWith("[")
&& !currentLine.startsWith("/*")) {
System.err.println(currentLine);
String[] array = currentLine.split("\\t");
String npcID = array[0].substring(7);
String xPos = array[1];
String yPos = array[2];
String zPos = array[3];
String walk = "false";
String radius = "0";
//-----------------------
fileWriter.write("{\n");
fileWriter.write("\"npc-id\": "+npcID+"\n");
fileWriter.write("\"position\": {\n");
fileWriter.write("\"x\": " + xPos + "\n");
fileWriter.write("\"y\": " + yPos + "\n");
fileWriter.write("\"z\": " + zPos + "\n");
fileWriter.write("},\n");
fileWriter.write("\"walking-policy\": {\n");
fileWriter.write("\"coordinate\": false, \"radius\": 0\n");
fileWriter.write("}\n},");
}
}

fileWriter.write("]");
} catch (IOException e) {
e.printStackTrace();
}

}

public static void main(String[] params) {
new Main();
}

}

最佳答案

如果您准备好写入刷新并关闭输出流

 fileWriter.flush();
fileWriter.close();

关于java - FileWriter 没有写入我的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24139523/

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