gpt4 book ai didi

java - 读取带有多个标志的纯文本文件java

转载 作者:行者123 更新时间:2023-12-01 09:11:49 25 4
gpt4 key购买 nike

我有一个纯文本文件,格式如下:

-~-http://www.google.com
-@-Google+
-@-About Google
-~-http://www.somewebpage.com
-@-A
Google
Search
-@-How to Google
-~-http://www.mycoolwebpage.com
-@-Google is Awesome!!!

我需要阅读链接(用-~-表示),并将它们放在 List<String> 中称为链接。我还需要读入输出(用 -@- 表示)并将它们放在 List<List<String>> 中称为输出。我需要读入直到下一个标志 (-~-/\t-@-) 的所有文本,并且我还需要知道哪个标志位于文本之前。我试过Delimiter ,但我不确定我能知道哪个Delimiter位于 String 之前

最佳答案

我会避免使用扫描仪分隔符。只需阅读每一行并在代码中处理它即可。对于每一行,首先丢弃(或忽略)任何前导空格。然后,如果该行以分隔符开头,则包装所有挂起的链接/输出(请参阅下文了解其含义)。那么,

  • 如果该行以 -~- 开头,则从该行到该行末尾的文本是链接的开头,因此开始累积链接文本(例如,在 StringBuilder 中) )。另外,如果您有一个非空输出列表,请将该列表附加到列表列表output
  • 如果它以 -@- 开头,则它是输出的开始,因此开始累积输出文本。
  • 如果它以两个分隔符开头,则它是一个延续行,因此将该行的其余部分附加到当前链接/输出累加器(可能在附加空格或换行符之后)。

要“包装任何待处理的链接/输出”,请将 StringBuilder 的当前内容转换为 String 并添加到相应的列表中。还将任何非空输出列表附加到输出

这里有很多簿记细节需要注意,我没有提到,但这是基本的想法。

关于java - 读取带有多个标志的纯文本文件java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40873729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com