【问题标题】:Read the first word of each line of a text file into an ArrayList将文本文件每行的第一个单词读入 ArrayList
【发布时间】:2012-06-08 04:47:20
【问题描述】:

我有一个很长的本地文本文件,我想编写一个方法来读取它并将每行的第一个单词添加到 StringsArrayList 中。

我对基本的 I/O 操作有非常原始的理解。现在,据我了解,我需要某种InputReader 对象读取每个第一个单词,然后使用OutputStreamBuffer 之类的东西将每个单词作为Strings 添加到ArrayList .我在正确的轨道上吗?

如果这是正确的,我不确定正确的语法是什么(尤其是在复制每行中的第一个单词后让InputStreamReader 转到下一行。如果我不是就算接近了,你们会怎么做呢?

非常感谢大家的帮助。我希望我的描述对你来说足够清楚。

【问题讨论】:

  • 查看Scanner 文档。里面有你想做的大部分事情;从这里开始,您需要探索哪些方法对您最有帮助。

标签: java file-io arraylist bufferedreader fileinputstream


【解决方案1】:

你走在正确的轨道上 - 这是我对你的要求的一般建议......

  1. 创建一个ArrayList<String> 用于存储您的文字
  2. 使用BufferedReader 使用readLine(); 逐行读取文件
  3. 拆分行并仅阅读第一个单词(可能使用String.split() 方法或StringTokenizer 或正则表达式)
  4. 使用add() 方法将单词存储在ArrayList 中,然后从第2 点读取下一行。

您的ArrayList 不需要使用OutputStream,这只会使事情复杂化。

【讨论】:

    【解决方案2】:

    我会使用java.util.Scanner,特别是 hasNextLine 和 nextLine 方法来获取每一行。

    然后在每一行使用另一个扫描器和 hasNext 和 next 方法来获取第一个单词,或者使用 String split 方法(或其他方式)来获取第一个单词。

    然后将第一个单词添加到ArrayList<String>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      • 2018-09-14
      相关资源
      最近更新 更多