【发布时间】:2016-09-30 13:29:04
【问题描述】:
我正在尝试创建两个基本函数,这将允许我从其他类调用它们,以便从“getAllData()”返回一个 HashMap,并在“writeToFile()”中写入文件,而不需要任何运气。我已经对其进行了一段时间的篡改,只是得到了许多奇怪的错误。
代码:
static HashMap<Integer ,String> getAllData(Integer choice) throws Exception{
InputStream localInputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("Shadow.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(localInputStream));
if (choice.equals(1)){
while ((!data.equals(null))){
data = br.readLine();
dataString = dataString+data;
}
writeToFile(dataString);
br.close();
}return name;
}
static void writeToFile(String data) throws IOException{;
File file = new File ("Shadow.txt");
FileWriter fileWriter = new FileWriter(file, true);
BufferedWriter bw = new BufferedWriter(fileWriter);
bw.write(data);
bw.newLine();
bw.flush();
bw.close();
}
使用当前的代码,什么都不会发生。该文件保持原样,尽管对我来说,代码应该从中读取所有内容,然后附加它。
我该如何解决这个问题? 谢谢
【问题讨论】:
-
请提供有关错误的详细信息(“multitude”和“strange”除外)。
-
添加了@Khelwood “使用当前的代码,没有任何反应。文件保持原样,尽管对我来说,代码应该从中读取所有内容,然后附加它。”
-
你认为
new File ("Shadow.txt", "true")在做什么? -
您正在读取和写入同一个文件并附加您之前读取的数据。不存在并发问题吗?
-
再次阅读该教程并注意标记的位置。您不会将其放入
File构造函数中,而是放入FileWriter构造函数中。 - 本教程使用布尔值 (true) 而您必须将其作为字符串 ("true") 传递,您不觉得奇怪吗?
标签: java file writer reader buffered