我想创建一个简单的程序(用Java编写)来编辑文本文件 - 特别是在文本文件中随机位置插入任意文本的文件。
旧文字文件:
Noodles
Cereal
Tomato
Carrot
Fish
Meat
输出:
Please insert new record:
1
Cornflake
Please insert new record:
新文字文件:
Noodles
Cereal
Tomato
Carrot
Fish
Meat
Cornflake
我检查了我的文本文件并将其插入到我的文本文件中但是当我再次运行程序时,例如,我想插入冰淇淋然后它应该在Cornflake之后添加,而是用冰淇淋代替Cornflake。但是我该如何解决这个问题呢?
爪哇:
String INPUT_PROMPT ="Please insert new record:";
BufferedReader reader = new BufferedReader
(new InputStreamReader (System.in));
line = reader.readLine();
while(!line.equals("x"))
{
switch(line)
{
case "1":
line = reader.readLine();
FileWriter fw=new FileWriter(inFile);
BufferedWriter bw=new BufferedWriter(fw);
PrintWriter pw=new PrintWriter(bw);
for(int k=0; k< prdct.size(); k++)
{
pw.println(prdct.get(k).toString());
}
pw.write(line);
pw.write("\n");
pw.close();
break;
}
System.out.println(INPUT_PROMPT);
line = reader.readLine();
}
答案 0 :(得分:2)
此问题可能与许多其他问题重复,但您需要在附加模式下打开FileWriter
,这是通过将true
作为构造函数中的第二个参数传递来完成的:
FileWriter fw = new FileWriter(inFile, true);
来自Javadoc for FileWriter(File file, boolean append):
在给定File对象的情况下构造FileWriter对象。如果第二个参数为true,则字节将写入文件的末尾而不是开头。