1

私が書こうとしている私のプログラムにいくつかの問題があります。基本的に私がする必要があるのはArrayList、私が持っている を取得して、情報をテキスト ファイルにエクスポートすることです。Google のさまざまなソリューションを試してみましたが、どれも成功しませんでした。

基本的にArrayList、卒業生と学部生の 2 つのリストがあります。これらに関連する情報を取得して、ArrayList1 つのテキスト ファイルに入れるだけです。

後で.txtファイルを に逆の操作 (インポート) を行う必要がありますがArrayList、後でそれを理解することができます。

助言がありますか?

4

2 に答える 2

0

特定の形式でデータを書き込む必要がある場合は、 a を使用しPrintWriterて、任意の方法でデータをファイルに書き込むことができます。これに関する問題は、テキスト ファイルを再読み取りしてデータを入力する方法を見つけなければならないことです。

一方、XStream (チュートリアルはこちら) を使用して、ファイルを XML として書き込むことができます。これにより、(上記のように) 人間が判読できるテキスト ファイルが提供されますが、データを入力するときにテキスト ファイルを読み直す方がはるかに簡単です。

最後に、ObjectOutputStreamを使用してデータを書き込み、ObjectInputStreamを使用してデータを再度読み取ることができます。ただし、この方法では、人間が判読できるテキスト ファイルが生成されないことに注意してください。また、クラスはSerializableインターフェイスを実装する必要があります。

于 2012-05-07T05:18:52.340 に答える
0

Apache commons-io ライブラリを使用したソリューションは次のとおりです。

//Put all data into one big list, prepended with size of first list
List<String> allData = new ArrayList<String>(1+grads.size()+undergrads.size());
allData.add(String.valueOf(grads.size());
allData.addAll(grads);
allData.addAll(undergrads);
FileUtils.writeLines(new File("list.txt"), allData);

データを読み戻すには:

List<String> allData = FileUtils.readLines(new File("list.txt"));
int gradsSize = Integer.parseInt(allData.get(0));
List<String> grads = allData.subList(1, gradsSize+1);
List<String> undergrads = allData.subList(1+gradsSize, allData.size());
于 2012-05-07T06:55:59.163 に答える