我想在文本文件中添加多条记录。所以我写了下面的程序。但在此程序中,每次用户从命令提示符输入数据时,数据都会被覆盖。文件中的数据被覆盖。那么如何在文本文件中添加多条记录呢?
apples3.java
class apples3
{ public static void main(String[] args)
{ ffile g = new ffile();
g.get();
g.openFile();
g.addRecords();
g.closeFile();
}
}
ffile.java
import java.io.*;
import java.lang.*;
import java.util.*;
public class ffile
{ private Formatter x;
Scanner sc = new Scanner(System.in);
int rollno;
String fname, lname;
public void get()
{ System.out.println("Enter rollno: ");
rollno = sc.nextInt();
System.out.println("Enter first name: ");
fname = sc.next();
System.out.println("Enter last name: ");
lname = sc.next();
}
public void openFile()
{ try
{ x = new Formatter("xyz.txt");
}
catch(Exception e)
{ System.out.println("You have an error");
}
}
public void addRecords()
{ x.format("%s %s %s ", rollno, fname, lname);
}
public void closeFile()
{ x.close();
}
}
添加记录后,我使用以下代码片段显示它:
Scanner x;
try
{ x = new Scanner(new File("Keyur.txt"));
while(x.hasNext())
{ String a = x.next();
String b = x.next();
String c = x.next();
String d = x.next();
System.out.printf("%s %s %s %s\n", a, b, c, d);
}
x.close();
}
catch(Exception e)
{ System.out.println("could not find file");
}
在cmd中显示的输出如下:
1 吉米
2 xyz abc
3 pqr def
实际上我正在我的java框架中运行这个程序。所以我采取所有必要的文本框、标签、按钮。
当我在文本框中输入任何名称时,我想要删除该名称的特定行,例如我输入 xyz,然后从数据库 txt 文件中删除第 2 行 xyz abc。< br/>
我在文本框和第二个文本框 aaa 中写入 pqr,然后我想更新我的 txt 文件中的该记录。
所以如果可能的话,我只想要代码片段,那么它对我也很有用。
最佳答案
尝试在 append mode 中打开流:
FileOutputStream fos = new FileOutputStream("xyz.txt", true);
x = new Formatter(fos);
关于java - 在文本文件中添加多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27484413/