【问题标题】:Read a value from a large file after a prefix [closed]在前缀后从大文件中读取值[关闭]
【发布时间】:2013-06-08 10:33:04
【问题描述】:

通过 Java,我必须从大型报告文件中读取 输入和输出 的值。在文件中,这些值位于前缀“来自 ABC 来源:”之后,因为我在下面给出了文件。格式是固定的。文件的大小不是固定的。

文件或字符串从这里开始 --

x

y

z

-***********************************************************************

*                   ** xyx entry   **                         *

-***********************************************************************

result is at 2013-06-22 02:11:06 ( result since 2013-06-06 23:40:03)

From ABC source:

       #                   input  :    30
       #                   output :    40

文件或字符串到此结束。

【问题讨论】:

    标签: java string file


    【解决方案1】:

    你能用Java打开一个文件来读取文本吗?如果是这样,那么编写代码来执行此操作。如果没有,请阅读手册/教科书,它就在那里。

    你能逐个字符地读取打开的文件吗?如果是这样,那么编写代码来执行此操作。如果没有,请阅读手册/教科书,它就在那里。

    你能确定你刚才读到的字符是不是“F”吗?如果是这样,那么编写代码来执行此操作。如果没有,请阅读手册/教科书,它就在那里。

    读取“F”后面的字符,看看它们是否匹配“rom ABC source:”。如果它们不匹配,则逐个字符继续查找“F”。如果它们确实匹配,那么您在文件中找到了正确的位置。

    真的有那么难吗?

    ETA:如果文件非常很大并且运行速度太慢,有一些方法可以加快搜索速度。最好先尝试简单的串行搜索。如果速度足够快,请使用它;它使以后的代码维护变得容易得多。

    【讨论】:

    • 可能是他想处理像split("From ABC source")这样的api调用......但当然这里担心的是它的大文件......
    • 感谢罗森的回答和时间。这确实是一种最简单的方法。
    • 它运作良好。谢谢
    猜你喜欢
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2023-04-03
    • 2012-01-11
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    相关资源
    最近更新 更多