。txt文件上的Java正则表达式

问题描述 投票:-1回答:1

我想扫描txt文件以查找路径。所以我的正则表达式是"[A-Z]:\\"我不确定如何将文件输入表达式。 Pattern.matcher()需要一个char序列。因此,我想到的是要么输入convert my file to a character sequence,要么获取文件的每一行并将其转换为字符串,然后将每个字符串输入Pattern.matcher()。后一种选择会慢很多,因为它为每行创建了一个新的匹配器。对吧?

java regex java.util.scanner
1个回答
-1
投票

除非您希望文件很大,否则我不会理会链接中提出的解决方案。该解决方案在后台使用FileChannel,并根据其javadocs:

对于大多数操作系统,将文件映射到内存比通过通常的读写方法读取或写入几十千字节的数据要昂贵。从性能的角度来看,通常只需要将较大的文件映射到内存中。

如果文件较小,并且您的路径不能跨越多行,这似乎是实际情况,我会选择Files.lines(Path path)

© www.soinside.com 2019 - 2024. All rights reserved.