我必须读取结构不正确的平面文件,并且需要按一行中缩进的大小来读取它。
Element TestData* Content Particle Particle_3* Element TestData1* Content Particle Particle_62*
以上是我的平面文件结构。我需要阅读文本前的空白前导空格。
预期结果为:
第一行空白空间的长度= 2
第二行空白空间的长度= 5
第三行空白空间的长度= 8
第4行空白空间的长度= 11
任何帮助都会很棒... !!! 谢谢。
答案 0 :(得分:1)
类似的事情可能会起作用:
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args){
try (BufferedReader reader = Files.newBufferedReader(Paths.get("./testfile.txt"), StandardCharsets.UTF_8)){
int lineNr = 0;
String line;
while((line = reader.readLine()) != null){
lineNr++;
int spaces = 0;
for (int i=0;i<line.length();i++){
if (line.charAt(i) == ' '){
spaces++;
}
else{
break;
}
}
System.out.println("line "+lineNr+" has "+spaces+" leading spaces:"+line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
输出:
line 1 has 2 leading spaces: Element TestData*
line 2 has 5 leading spaces: Content Particle Particle_3*
line 3 has 8 leading spaces: Element TestData1*
line 4 has 11 leading spaces: Content Particle Particle_62*