我在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());
}
}