0

これまでのところ、2 つの配列があります。1 つは株式コード、もう 1 つはファイル名のリストです。私がやりたいことは、2 番目の配列の各ファイル名から .txt ファイルを入力し、この入力を次のように分割することです。 1. 各ファイルの配列 2. 各ファイルの各パーツの配列。

私はこれを持っています:

            ImportFiles f1 = new ImportFiles("File"); 
    for (String file : FileArray.filearray) { 
        if (debug) {
            System.out.println(file);
        }
        try { 
            String line;
            String fileext = "C:\\ASCIIpdbSKJ\\"+file+".txt";
            importstart = new BufferedReader(new FileReader(fileext));
            for (line = importstart.readLine(); line != null; line = importstart.readLine()) {
                importarray.add (line);
                if (debug){
                    System.out.println(importarray.size());
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        importarray.add ("End")

このアプローチは、すべてのファイルの大きな配列を作成するために機能します。入力メソッドを変更して、入ってくるときに分割するか、私が持っている大きな配列を分割する方が簡単ですか?

この時点では、株式コードの配列は関係ありません。アレイを分割すると、そこからどこに行くかがわかります。

ありがとう。

編集: このコードは { } に関して不完全であることは認識していますが、印刷ストリームとデバッグが見落とされているだけです。

4

1 に答える 1

0

すべてのファイルからファイル名とそのすべての行を含むマップを取得する場合は、関連するコード部分を次に示します。

Map<String, List<String>> fileLines = new HashMap<String, List<String>>();
for (String file : FileArray.filearray)
    BufferedReader reader = new BufferedReader(new FileReader(fileext));

    List<String> lines = new ArrayList<String>();
    while ((line = reader.readLine()) != null){
        lines.add(line);
    }

    fileLines.put(file, lines);
}
于 2012-07-02T08:55:37.960 に答える