在java中重命名和删除文本文件

时间:2015-05-23 20:25:02

标签: java

我试图尝试创建两个文本文件,然后写入其中一个文件,用第一个文件重命名第二个文件,然后删除第一个文件。我有一个学校项目,我需要应用这个概念。所以,在我实际在我的项目中应用这个概念之前,我尝试了一个粗略的代码。现在,除了第二个文件不包含第一个文件中的数据外,一切正常。我该如何解决这个问题?

这是我的班级,叫做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文件中输出空白,我不知道我在哪里弄错了。请帮帮我。

3 个答案:

答案 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。显然你得到空白的文件。