检索和替换文本文件中的数字

时间:2010-01-01 23:35:08

标签: java text-files

我需要检索并更改将在第一行的文本文件中的数字。它将改变长度,例如“4”,“120”,“78”,以表示文本文件中保存的数据条目。

2 个答案:

答案 0 :(得分:4)

如果您需要更改第一行的长度,那么您将不得不读取整个文件并再次写入。我建议先写入新文件,然后在确定文件写入正确后重命名该文件,以免程序在操作中途崩溃时数据丢失。

答案 1 :(得分:2)

这将从MyTextFile.txt读取并获取第一个数字更改它,然后将该新数字和文件的其余部分写入临时文件。然后它将删除原始文件并将临时文件重命名为原始文件的名称(在此示例中也称为MyTextFile.txt)。我不确定那个数字到底应该改变什么,所以我随意地做了42.如果你解释文件包含哪些数据条目,我可以帮助你更多。希望这对你有所帮助。

import java.util.Scanner;
import java.io.*;

public class ModifyFile {
    public static void main(String args[]) throws Exception {
        File input = new File("MyTextFile.txt");
        File temp = new File("temp.txt");
        Scanner sc = new Scanner(input);    //Reads from input
        PrintWriter pw = new PrintWriter(temp); //Writes to temp file

        //Grab and change the int
        int i = sc.nextInt();
        i = 42;

        //Print the int and the rest of the orginal file into the temp
        pw.print(i);
        while(sc.hasNextLine())
            pw.println(sc.nextLine());

        sc.close();
        pw.close();

        //Delete orginal file and rename the temp to the orginal file name
        input.delete();
        temp.renameTo(input);
    }
}