我正在尝试读出文件。

该文件具有特定对象的多个属性,这些属性现在不相关。

但是这些属性用“ +”号分隔。

现在,当我尝试读出它们并为+使用定界符时,出现错误: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();
}


文件内容:

最佳答案

Delimiter需要使用正则表达式模式,因此在这种情况下,您应该使用:
scan.useDelimiter("\\+");

正则表达式中的+号表示您想要1个或多个匹配项,例如[a-z]+表示从a到z的一个或多个字母。

关于java - Java-扫描仪分隔符-'在索引0附近悬挂元字符'+',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34008067/

10-11 11:20