1

我如何能:

写入 .txt 文件:在程序启动时自动在 .txt 文件中创建 100 条空白记录(字段:记录 id、姓名、年龄等)。记录ID不会为空

编辑:我将输入一个记录id(范围从1-100)来添加或编辑数据到空白记录,记录id不能被编辑

display in 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();
}
}
4

1 回答 1

1

好的,这听起来很像家庭作业,所以我会给你一些建议,希望你可以通过一些定向搜索自己找到结果......

根据您希望在 .txt 文件中放入多少数据,您可能需要以 CSV 格式手动编辑它:

accountId,name,age,etc

您希望拥有 100 条记录 - 虽然您可以这样做,但您可以从手工创建的少数开始,作为初始步骤,然后再编写一些东西来生成您的记录。

之后,您需要设计您的模型(即 Account 对象),这很可能是一个 Plain Old Java Object (POJO),它是一个标准类,具有一些私有属性,以及用于访问数据的 getter 和 setter内存储。

您还需要读入源数据文件并将它们转换为稍后使用的(帐户)对象 - 在这样的实例中,我喜欢使用BufferedReader该类,因为它允许您读取整行一次性文本文件:

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new (File("/path/to/file")))));

然后,您可以读取文件的一行String line = reader.readLine()

查看类中可用的方法String,看看是否可以根据给定的分隔值(在本例中为逗号,因为它是 csv)找到合适的方法来分解字符串 - 然后创建一个新的 Account 对象并填充它与提供的值。

有几个人(正确地)指出了使用 aMap来存储创建的对象 - 提示:查找HashMap(帐户 ID 可以是键)

当涉及到从用户那里获取输入时,JOptionPane.showInputDialog()将是您所需要的(parentComponent 可以null

我希望这足以让您继续前进,而无需真正为您完成作业。如果您还有更多问题,请随时提问。

于 2013-08-05T10:58:42.960 回答