我如何:
写入.txt文件:在程序开头的.txt文件中自动创建100条空白记录(字段:记录ID,名称,年龄等)。记录ID不能为空
编辑:我将输入一个记录ID(范围从1-100)以添加或编辑数据到空白记录,记录ID无法编辑
显示在JOptionPane
:我将输入记录ID,所有相应的数据将显示在JOptionPane
中(我知道如何使用JOptionPane
来显示东西,但我不知道如何只显示.txt文件中的选定数据)
任何人都可以帮助我如何做这样的程序? 我知道java,但我仍然是一个菜鸟。
到目前为止,这就是我所拥有的。不知道下一步该做什么import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class writer {
public void writing() {
try {
File Text = new File(filepath here);
FileOutputStream FOS = new FileOutputStream(Text);
OutputStreamWriter OSW = new OutputStreamWriter(FOS);
Writer w = new BufferedWriter(OSW);
for(int x=1;x<101;x++){
w.write("Account #"+x);
}w.close();
} catch (IOException e) {
System.err.println("Problem writing to the file!");
}
}
public static void main(String[]args) {
writer write = new writer();
write.writing();
}
}
答案 0 :(得分:1)
好的,这听起来很像家庭作业,所以我会给你一些指示,希望能让你自己通过一些有针对性的搜索找到结果......
根据您希望在.txt文件中放入多少数据,您可能需要手动编辑CSV格式:
accountId,name,age,etc
你希望有100条记录 - 虽然你可以这样做,但你可以从手工创建的一小撮开始,作为第一步,然后再写一些东西来制作你的记录。
之后,您需要设计您的模型(即Account对象),这可能是一个普通的旧Java对象(POJO),它是一个标准类,具有一些私有属性,以及getter和setter to访问存储在其中的数据。
您还需要读取源数据文件并将它们转换为稍后将使用的(帐户)对象 - 在这样的实例中,我喜欢使用BufferedReader
类,因为它允许您一次性读入文本文件的整行:
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new (File("/path/to/file")))));
然后,您可以使用String line = reader.readLine()
查看String
类中可用的方法,看看是否可以根据给定的分隔值找到合适的方法来分解字符串(在本例中为逗号,因为它是csv) - 你然后创建一个新的Account对象,并用提供的值填充它。
有些人(正确地)指出使用Map
来存储创建的对象 - 提示:查找HashMap
(帐户ID可以是密钥)
当从用户那里获得输入时,JOptionPane.showInputDialog()
将是您所需要的(parentComponent可以是null
)
我希望这足以让你前进,而不会为你完成你的功课。 如果您有更多问题,请随时提出要求。