【问题标题】:Accessing many text files in java在java中访问许多文本文件
【发布时间】:2012-02-12 21:00:59
【问题描述】:

我必须阅读 20 个比较大的文件(在某些情况下主要是 txt 或 pdf),然后对它们进行一些文本处理。

我正在使用 BufferedReader 和循环来读取这些文件,有没有有效的方法来做到这一点?

我的问题:读取这些文件的内容并将它们分成令牌,然后将它们存储在数据结构中。我现在正在使用一个数组,但我想使用一个有效的结构。

有人可以提出解决这两个问题的方法

【问题讨论】:

  • 使用 List 或 Map 代替 Array...
  • 您在正确的轨道上(使用 BufferedReader 读取文件内容),但您需要定义一个包含令牌的类。不要使用数组,而是使用 List 或 Map。
  • 我认为使用 Maps,键值对会带来更多的复杂性。如果我错了,请纠正我
  • 定义“令牌”以及为什么要这样做...有时了解最终目标有助于提供更好的解决方案
  • 我必须将文档拆分为单词,然后找到这些单词的词频。我正在使用内置函数 split 来划分文档。由于结果是一个字符串数组,我可以使用数组而不是列表

标签: java arrays data-structures file-handling large-data


【解决方案1】:

由于您要计算每个单词的频率,因此您应该使用一个列表,然后遍历该列表并使用一个以单词为关键字的映射来跟踪出现次数

【讨论】:

  • 在我的情况下,这种方法的问题是我从一组单词中创建了一个字典,然后 tfs 基于每个文档。因此,每个单词都会有多个与之相关的数字!所以我不能使用地图
  • 您可以为地图的值侧实现自定义类型或使用地图的地图
  • 谢谢,我会尝试实现它!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-25
相关资源
最近更新 更多