写入txt文件,编辑,显示在JOptionPane中

时间:2013-08-05 10:09:27

标签: java joptionpane

我如何:

写入.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();
}
}

1 个答案:

答案 0 :(得分:1)

好的,这听起来很像家庭作业,所以我会给你一些指示,希望能让你自己通过一些有针对性的搜索找到结果......

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

accountId,name,age,etc

你希望有100条记录 - 虽然你可以这样做,但你可以从手工创建的一小撮开始,作为第一步,然后再写一些东西来制作你的记录。

之后,您需要设计您的模型(即Account对象),这可能是一个普通的旧Java对象(PO​​JO),它是一个标准类,具有一些私有属性,以及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

我希望这足以让你前进,而不会为你完成你的功课。 如果您有更多问题,请随时提出要求。