扫描仪和BufferedReader需要很长时间才能读取数据

时间:2018-08-05 14:08:09

标签: java.util.scanner bufferedreader

我正在尝试从资源文件夹中读取一个简单的文件,该文件每行/定界符填充一个单词(总共144个单词),并且需要大约1m 8s的时间才能将其解析为Arraylist。

我尝试过的代码:

public List<String> loadCoinsWithin() {
        ClassLoader classLoader = getClass().getClassLoader();
        BufferedReader bReader = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream("/coins.txt")));
        String line;
        List<String> tempList = new ArrayList<String>();
        try {
            while ((line = bReader.readLine()) != null) {
                tempList.add(line);
            }
            return tempList;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }

还有

try (Scanner scan = new Scanner(new File(classLoader.getResource("coins.txt").toURI()))) {
            scan.useDelimiter(",");
            List<String> tempList = new ArrayList<String>();
            while (scan.hasNext()) {
                //String tempCoin = scan.nextLine();
                //scan.skip(scan.delimiter());
                tempList.add(scan.next());
            }
            return tempList;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

我首先尝试使用Scanner和BufferedReader,解析每行一个单词,并使用定界符解析单行,我得到的最佳结果是1m 4s。

我不知道接下来要尝试什么,任何人都可以帮助我找到解决方案以及为什么会发生这种情况?

谢谢!

0 个答案:

没有答案