我只是想知道是否有办法阅读文本文件并跳过包含特定字符串的行。
例如(test1.txt):
test0,orig,valid,nice
test1,input,of,ol,[www]
test2,[eee],oa,oq
test3,wa,eee,string,int
test4,asfd,eee,[tsddas],wwww
预期产出:
test0,orig,valid,nice
test3,wa,eee,string,int
我已经有了这段代码:
String line;
String test[];
try{
LineIterator it = FileUtils.lineIterator(file2,"UTF-8");
while(it.hasNext()){
line = it.nextLine();
test = StringUtils.split(line,(","));
}
先谢谢你们!
答案 0 :(得分:0)
类似的东西:
line = it.nextLine();
if (line.contains("specific string")) continue;
test = StringUtils.split(line,(","));
为什么使用StringUtils分割线? String
类支持split(...)
方法。
我建议您阅读String API以获取基本功能。
答案 1 :(得分:0)
您还可以使用Java 8 Streaming API。它很容易实现这一切。
final List<String[]> rows = Files.lines(Paths.get(file2), "UTF-8")
.filter(l -> !l.contains("["))
.map(l -> l.split(","))
.collect(Collectors.toList());
如果您想快速完成并且不想遇到任何问题,您还应该考虑使用现有的CSV库。一个很好的例子是Apache Commons CSV库(https://commons.apache.org/proper/commons-csv/)。