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) である可能性があります。内に格納されます。

また、ソース データ ファイルを読み込んで、後で使用する (アカウント) オブジェクトに変換する必要があります。このような場合、BufferedReaderクラスを使用するのが好きです。一度にテキストファイル:

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

次に、ファイルの行を読み取ることができますString line = reader.readLine()

クラスで使用可能Stringなメソッドを調べて、指定された区切り値 (この場合は csv であるためコンマ) に基づいて、文字列を分割する適切なメソッドを見つけることができるかどうかを確認します。次に、新しい Account オブジェクトを作成して入力します。提供された値でそれ。

Map何人かの人々が (正しく)作成されたオブジェクトを格納するために a を使用することを指摘しています - ヒント: 調べてくださいHashMap(アカウント ID がキーになる可能性があります)

ユーザーからの入力を取得する場合は、JOptionPane.showInputDialog()必要なものになります (parentComponent にすることができますnull)

宿題を実際に終わらせなくても、それで十分だと思います。さらに質問がある場合は、遠慮なく質問してください。

于 2013-08-05T10:58:42.960 に答える