修改或删除文件中的数据

时间:2013-01-05 18:43:35

标签: java file file-io

今天我在Windows平台上尝试使用Java修改和删除文件内的数据的算法。

1st:创建一个temporaryFile 第二步:将原始文件中所需的数据写入字符串和临时文件 3rd:将temporaryFile重命名为originalFile。

守则:

import java.io.File;
import java.io.IOException;
import java.io.FileWriter;
import java.util.Scanner;
import java.io.FileNotFoundException;

public class testing{
    private static String temp;
    public static void main(String [] args)
    {
        try{
        File tempFile = File.createTempFile("haha\\temporary", ".txt");         //create a temporary file in haha folder
        FileWriter writer = new FileWriter(tempFile); 
        Scanner input = new Scanner(new File("haha\\testing.txt")); //get input from testing.txt
        temp = input.next();
        writer.write(temp);
        writer.close();
        File origFile = new File("haha\\testing.txt");
        tempFile.renameTo(origFile);
        }
        catch ( FileNotFoundException fileNotFoundException ){}
        catch(IOException ioException){}
    }
}

在上面的代码中,要编辑的textFile位于文件夹名haha内,该文件夹名称testing.class与{{1}}一起位于另一个文件夹内。我试过这段代码无济于事, originalTextFile没有变化。

2 个答案:

答案 0 :(得分:0)

如果您的文件位于同一目录中,则无需将路径传递给File构造函数。

Scanner input = new Scanner(new File("testing.txt"));

这应该这样做。

答案 1 :(得分:0)

您需要关闭Scanner对象才能进行更改,底层操作系统必须释放文件锁。

     input.close();
     File origFile = new File("haha\\testing.txt");