JAVA中的BufferedWriter是否有问题?

我在OOP和Java编程中还很新来,所以请原谅我。 我编写了一个小类,尝试使用 BufferedReader类在文件中写入字符串。 一切正常,但文件为“空” ,我的意思是我看不到任何内容。 但是可以肯定的是,数据是存储的,因为当我关闭eclipse并再次将其重新打开并运行驱动程序类进行测试时,数据将从文件中恢复。 顺便说一下,我使用了“尝试使用资源” 机制,因此我的文件自动“关闭” 。 有人已经遇到这个问题了吗? 我的 eclipse 版本是“ 2018-12”

下面,在使用 BufferedReader类的情况下,您有一个带有“ writeToFile”方法的小类。

package parlons.code.tipcalulator.utilities;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileManagement {
    private File tipFile;

    public FileManagement(String tipsFileName) {
        this.tipFile = new File("/"+tipsFileName);

    }
    public String readFromFile() {
        String tip = null;
        try(BufferedReader bufferedReader = new BufferedReader(new FileReader(this.tipFile))) {
            tip = bufferedReader.readLine();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return tip;

    }

    public void writeToFile(String decimal) {
        try(BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(tipFile,true))){
            bufferedWriter.write(decimal);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

下面,您将找到用于测试目的的Driver类。

package parlons.code.tipcalulator.utilities;

public class UtilitiesTestDriver {

    public static void main(String[] args) {

        String decimal = "108";
        FileManagement fileManagement = new FileManagement("tipFile.txt");
        fileManagement.writeToFile(decimal);
        System.out.println(fileManagement.readFromFile());


    }

}
whyzywj 回答:JAVA中的BufferedWriter是否有问题?

根据Makoto的上述评论,如果更改为例如,则一切正常:

        this.tipFile = new File("./"+tipsFileName);

这将在项目的根目录(而不是文件系统的根目录-您可能没有写权限)中创建tipFile.txt文件(包含108)。

本文链接:https://www.f2er.com/2549215.html

大家都在问