java - Scanner.next 返回文件路径?

标签 java java.util.scanner

我有扫描仪:

m = new Scanner(Values.mazegen.replace("\\","//") + "//maze.txt");

(Values.mazegen.replace("\","//") + "//maze.txt"打印为 C://users//myusername//Desktop) 当我使用 m.next() 时 它返回C://users//myusername//Desktop//maze.txt。我不知道为什么...? 完整代码:

public void openFile(){
        try {
            if(Values.custom == true && Values.customSolved == false){
            m = new Scanner(new File(Values.MazeFile));
            }else if(Values.customSolved == true || Values.custom == false){
            m = new Scanner(Values.mazegen.replace("\\","//") + "//Maze.txt");
            }else{
                m = new Scanner(Values.mazegen.replace("\\","//") + "//Maze.txt");
            }
        } catch (FileNotFoundException e) {
            System.out.println("File not found!");
        }
        if(Values.custom == true && Values.customSolved == false){
            m.nextLine();
        }
    }

    public void readFile(){
        System.out.println("Got this far...");
        while(m.hasNext()){
            for(int i = 0; i < Values.x; i++){
                Maze[i] = m.next();
                System.out.println(Maze[i]);
            }
            m.nextLine();
        }
    }

    public void closeFile(){
        m.close();
    }

(OpenFile、readFile、closeFile依次执行)

最佳答案

Scanner(String)扫描您传递给它的字符串文字,而不是文件。扫描文件使用 new Scanner(new File("path to file"))

此外,您不应该使用双正斜杠。

关于java - Scanner.next 返回文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977108/

相关文章:

java - Scanner#nextLine() 留下剩余的换行符

java - CSVWriter 不允许写入文件

java - 输入字符串而不是 int 时抛出错误

java - 带有自定义异常 Java 的密码检查器无输出

java - 打开一个新的终端窗口并通过java在其中执行命令而不使用bash脚本

java - 无法解析为变量

java - 为什么使用 ant 运行 java 时无法获取用户输入?

java - 在recyclerview中设置onclicklistener

JAVA无法通过强制转换找到子类方法

java - 调用 Thread.start() 时,happens-before 是否具有传递性?