【问题标题】:Identifying points in lines of text识别文本行中的点
【发布时间】:2017-05-15 23:32:12
【问题描述】:

我有一个 java 程序,它将文本文件的行读取到缓冲区中,当缓冲区已满时,它会输出这些行,以便在所有行都通过缓冲区后,输出被部分排序。

输出将是行块,所以我需要一种方法来标记输出中每个块的结尾。由于输出是文本行,我不确定使用什么字符作为标记,因为文本可以包含任何字符。我正在考虑使用 ascii null 或单位分隔符,但我不确定这是否可靠,因为它也可以是文本。

【问题讨论】:

  • 也许您可以发布一些您尝试过的代码以识别问题。
  • 好吧,如果你的输出文件有可分离的“记录”,那它就不是一个文本文件;它是结构化的。有许多结构化的文件格式。选择一个可以分隔记录同时允许文本记录具有任何字符的记录。 (顺便说一句,XML 直接不是一个选项,因为它不允许某些字符。)目前还不清楚您的输出文件需要具有哪些特征。也许它需要可附加?有其他程序读取它吗?

标签: java file-io ascii


【解决方案1】:

你可以使用 Map,这样你就可以为每个缓冲区组设置一个键

Hash<int,Buffer> myMap = new HashMap<>();

【讨论】:

    【解决方案2】:

    如果你不确定如何区分行,我建议你看一下 NLP 中通常使用的句子分词器工具。这些程序包含区分线的模式。这样,您可以发送所有日期并获取线路,而无需担心要使用的字符。有很多 Java 库可以完美地完成这项工作(假设您的文本是英文的)

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      • 2011-01-13
      相关资源
      最近更新 更多