[英]Reading and parsing a file with java.util.scanner
我有一个文本文件,我想用java.util.Scanner读取并解析内容。
文件看起来像这样:
物件数量:5
描述0一些描述
:描述1一些描述
:对象1的更多描述
:对象1的更多描述
:对象1的更多描述
描述2对象2的一些描述
:对象2的更多描述
描述3对象3的一些描述
:对象3的更多描述
描述4对象4的一些描述
:对象4的更多描述
到目前为止,我已经有了这个
String pattern = "description";
String pattern2 = ":";
int romNummer = 0;
fil = new Scanner(new File(filnavn));
do{
String input;
input = fil.next();
romNummer = fil.nextInt();
String description = fil.nextLine();
if(fil.hasNext(":")){
input = fil.next();
String description2 = fil.nextLine();
description += description2;
}
if(fil.hasNext(":")){
input = fil.next();
String description2 = fil.nextLine();
description2 += description2;
}
if(fil.hasNext(":")){
input = fil.next();
String description2 = fil.nextLine();
description += description2;
}
}while (fil.hasNext(pattern)||fil.hasNext(pattern2));
我希望将一个对象的所有描述都视为一个字符串。 使用扫描器类是否有更优雅的方法?
为什么不阅读每一行,然后确定它是一个新的Description,还是将第一个字符添加到当前Description之后是否是“:”?
伪代码
fil = new Scanner(new File(filnavn));
String line = "",result="";
int number=0;
number = Integer.parseInt(fil.nextLine().split(":").[1].trim());
while(fil.hasNext())
{
line = fil.nextLine();
Check if line starts with "Description"
{
Print content
remove "Description [number]" from line
content += line;
}
Check if line starts with ":"
{
remove ":"
content += line;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.