我试图尝试创建两个文本文件,然后写入其中一个文件,用第一个文件重命名第二个文件,然后删除第一个文件。我有一个学校项目,我需要应用这个概念。所以,在我实际在我的项目中应用这个概念之前,我尝试了一个粗略的代码。现在,除了第二个文件不包含第一个文件中的数据外,一切正常。我该如何解决这个问题?
这是我的班级,叫做potpie: -
package project4;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class potpie {
PrintWriter out,cr;
File file1 = new File("trial.txt");
File file2 = new File("item.txt");
public void createfile() throws IOException
{
out = new PrintWriter(new FileWriter(file1,true));
out.println("User1" + "639755");
cr = new PrintWriter(new FileWriter(file2,true));
cr.close();
out.close();
file1.delete();
file2.renameTo(file1);
}
}
我在trial.txt文件中输出空白,我不知道我在哪里弄错了。请帮帮我。
答案 0 :(得分:2)
我认为你真正的意图是:
public class potpie {
PrintWriter cr;
File file1 = new File("trial.txt");
File file2 = new File("item.txt");
public void createfile() throws IOException
{
cr = new PrintWriter(new FileWriter(file2,true));
cr.println("User1" + "639755");
cr.close();
file1.delete();
file2.renameTo(file1);
}
}
你目前正在做的是重命名一个空文件,所以难怪为什么重命名的文件也是空的。顺便说一句,你没有正确使用你班级中属性的概念,你应该好好考虑一下代码的更好结构。
答案 1 :(得分:1)
您正在写信file1
,然后将其删除,然后将file2
(您尚未写入)重命名为file1
。也许您打算删除空文件并重命名为它?
答案 2 :(得分:0)
您创建了空白文件2。然后你给file1写了“User1”+“639755”。然后删除file1并将file2重命名为file1。显然你得到空白的文件。