将行拆分为数组项 - 对于dir中的所有文件 - 可能是带有bug的循环

时间:2016-01-26 09:37:49

标签: java arraylist

我的部分作业。 我编写了一个方法将所有单词拆分为ArrayList。从给定项目目录中的所有文件中获取单词。 不幸的是有时会跳过行...我希望找到错误。请帮忙。 要指定:文件是7个“单词”,每行都有制表符。

.num2 span

1 个答案:

答案 0 :(得分:1)

我个人没有太多使用过扫描仪,所以我无法立即发现问题。但是这里有一些使用缓冲文件输入流的旧代码,我已经将您的特定位添加到:

public TravelData(File dataDir) {
    File[] listOfFiles = dataDir.listFiles();

    for (int i = 0; i < listOfFiles.length; i++) {
        if (listOfFiles[i].isFile()) {

            InputStream inputStream = null;
            BufferedReader buffReader = null;
            try {
                inputStream = new FileInputStream(listOfFiles[i]);
                buffReader = new BufferedReader(new InputStreamReader(inputStream));
                String fileLine = buffReader.readLine();
                while(fileLine != null) {
                    ArrayList<String> line = new ArrayList<String>();
                    for(String value: fileLine.split("\t")) {
                        line.add(value);
                    }
                    lineConverter(line, dbDate);
                    fileLine = buffReader.readLine();
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if(buffReader != null) try { buffReader.close(); } catch (IOException e) { }
                if(inputStream != null) try { inputStream.close(); } catch (IOException e) { }
            }
        }
    }
}