我正在尝试读出一个文件。
此文件具有特定对象的多个属性,这些属性现在不相关。
但这些属性用“+”符号分隔。
现在,当我尝试将它们读出并使用分隔符作为+时,我收到错误:Dangling meta character '+' near index 0
注意:文件以'1'(数据库中对象的id)开头而不是'+'
这是我一直在使用的代码:
public void doImport() throws FileNotFoundException, IOException{
file = new File(document);
Scanner fileIn = new Scanner(file);
while(fileIn.hasNextLine()){
//reading a single line of the file
String line = fileIn.nextLine();
Scanner scan = new Scanner(line);
//setting the delimiter
scan.useDelimiter("+");
while(scan.hasNext()){
//printing contents, split by a +
System.out.println(scan.next());
}
String string = fileIn.nextLine();
System.out.println(string);
}
fileIn.close();
}
文件内容:
答案 0 :(得分:2)
Delimiter期望一个正则表达式模式,所以在这种情况下你应该使用:
scan.useDelimiter("\\+");
正则表达式中的+号表示您需要1个或更多匹配,例如[a-z]+
表示从a到z的一个或多个字母。