0

読み込まれるテキスト ファイルがあります<.>。本題があり、その後に 3 つのパラグラフがあります。titlesection1section2section3、そして次の記事としましょう。

ArrayList 1 にすべてのタイトルが含まれるように、ArrayList 2 にすべての section1 情報が含まれるように、データを保存するにはどうすればよいですか? これらの配列を出力できるようにしたい。

例:
大きな嵐が近づいています。

大嵐について

嵐の静的

嵐についての結論

上記の例は、1 つのレコードがどのように見えるかを示しています。

public void read()
{
    try
    {
        FileReader fr = new FileReader(file_path);
        BufferedReader br = new BufferedReader(fr);
        String s = "";
        // keep going untill there is no input left and then exit         
        while((s = br.readLine()) != null)
        { }
        fr.close();
    }
    catch (Exception e)
    {
        System.err.println("Error: read() " + e.getMessage());
    }
}

public static void main(String [] args)
{
    Reader reader = new ResultsReader("C:/data.txt");
    reader.read();
    String output = ((ResultsReader)reader).getInput();
    String str = "title<.>section1<.>section2<.>";
    String data[] = str.split("<.>");   
}

データを別の ArrayLists に格納してトラバースできるようにする方法がわかりません。

4

1 に答える 1

1

配列を作成する大きさがわからないため、配列を作成してデータを入れることはできません。そのため、代わりにリストを使用し、ファイルの読み取りが完了したらそれらを配列に変換します。

List tilesList = new ArrayList<String>();
// etc.

FileReader fr = new FileReader(file_path);
BufferedReader br = new BufferedReader(fr);
String s = null // I think this should be null, so that if there are no lines, 
                // you don't have problems with str.split();
while((s = br.readLine()) != null) {
  String[] line = str.split("<.>");
  tilesList.add(line[1]);
  // etc.
}
fr.close();

String[] tiles = tilesList.toArray(new String[tilesList.size()]);
// etc.
于 2012-05-13T21:46:09.530 に答える