Java-读取和写入文件 - 未找到文件

时间:2018-02-01 17:38:09

标签: java file readfile writefile

所以我正在开发这个游戏,我将高分存储在一个文本文件中。我正在关注有关如何读取和写入文件的newboston教程。现在我正在测试读取类是否有效并且无法正常工作。它说找不到文件的时候我把文字放得很像文件就在我的包里,所以我不必说道。这是我的游戏中使用读写类的方法代码:

private int getHighScore(int change, int newScore) {
        if (change==1) {
            readFile r=new readFile();
            r.openFile();
            String fileScore=r.readtext();
            r.closeFile();
            int score=Integer.parseInt(fileScore);
            return score;
        }
        else {
            writeToFile w=new writeToFile();
            w.openFile();
            w.addRecords(newScore);
            w.closeFile();
            return newScore;
        }
    } 

以下是阅读课程:

import java.io.*;
import java.util.*;
public class readFile {
    private Scanner read;

    public void openFile() {

        try {
            read=new Scanner(new File("highScore.txt"));
        }
        catch(Exception e){
            System.out.println("Could not find file.");
        }
    }
    public String readtext() {
        String score=read.next();
        return score;
    }
    public void closeFile() {
        read.close();
    }
}

此处还有写文件。我担心这个类可能不起作用,因为看起来它可能会创建一个新文件并写入那个新文件,当我只想写入一个我已经称为“highScore.txt”的现有文件时无论如何这里是写的类:

import java.util.*;
public class writeToFile {
    private Formatter x;
    public void openFile() {
        try {
            x=new Formatter("highScore.txt");
        }
        catch(Exception e) {
            System.out.println("Can not open that file.");
        }
    }
    public void addRecords(int newScore) {
        String score=""+newScore;
        x.format("%s", score);
    }
    public void closeFile() {
        x.close();
    }
}

所以我想知道为什么它不起作用并提前感谢。

2 个答案:

答案 0 :(得分:0)

如果您的文件存在于存在ReadFile和WriteFile的相同位置。然后你可以使用下面的代码。

URL url =   getClass().getResource("highScore.txt"); 
Scanner read=new Scanner(new File(url.getPath()));

答案 1 :(得分:0)

好的,我解决了。问题是错误的位置,我仍然没有给出一个路径。所以基本上我看了这个帖子:The system cannot find the file specified in java

线程的一部分列出了目录中的文件。当我这样做时,我注意到它提到的所有内容都在项目文件夹中。我将文件从src文件夹移动到项目文件夹,它工作正常。因此,如果您遇到一个问题,您知道您拼写了正确的文件名但是文件不存在,请确保您的文件位于项目文件夹中而不是src文件夹中。