在我的代码中我有这个GUI动画,我想通过自动创建一个新的文本文件使其创建的动画功能更通用..
String getGUI = "res/worldSaves/GUI_Frames_List.txt";
String writeGUI = "res/worldSaves/GUI_Cancel_Object.txt";
private void getGUISymbol(String getGUIFrame)
{
try
{
ProcessCoords get = new ProcessCoords(getGUI);
String[] getaryLines = get.OpenFile();
ProcessCoords data = new ProcessCoords(writeGUI);
int i;
for (i = 0; i < getaryLines.length; i++)
{
if(getaryLines[i].startsWith(getGUIFrame))
{
System.out.println("current = " + getaryLines[i]);
data.writeToFile("GUI"+getaryLines[i]); // this needs to generate a new text file - how?
}
}
}
catch(IOException e) {
System.out.println(e.getMessage());
}
}
目前我有两个文本文件,一个包含所有GUI图标的列表,另一个只包含当前应显示的文件。
我的目标是让程序在适当的目录中自己创建文本文件(GUI_Cancel_Object.txt),并在每次调用方法时覆盖文本文件。
我尝试用PrintWriter来做,但它没有生成文本文件,也许我的实现错了 - 有什么建议吗?
注意:Process Coords就是使用FileReader等标准的Java类方法。
编辑:创建的文件(在本例中为GUI_Cancel_Object.txt)可以像临时文件一样 - 在程序关闭时被删除。
更新
public void writeToFile(String textLine) throws IOException
{
FileWriter write = new FileWriter(path, append_to_file);
PrintWriter print_line = new PrintWriter(write);
print_line.printf("%s" + "%n", textLine);
print_line.close();
}
答案 0 :(得分:0)
此代码应生成该文件,除非出现某种异常。例如。您无权在当前工作目录中编写/创建文件。 作为旁注,每当您进行IO时,最好使用try-with-resources构造来确保始终调用close(),例如。
try (FileWriter write = new FileWriter(path, append_to_file);PrintWriter print_line = new PrintWriter(write)) {
print_line.printf("%s" + "%n", textLine);
}
创建临时文件传递,例如File.createTempFile(path,“txt”),而不仅仅是FileWriter构造函数的路径