我需要检索并更改将在第一行的文本文件中的数字。它将改变长度,例如“4”,“120”,“78”,以表示文本文件中保存的数据条目。
答案 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);
}
}