BufferedReader/Writer 在 Java 中不工作

BufferedReader/Writer not working in Java

我正在尝试创建两个基本函数,这将允许我从其他 类 调用它们,以便 return 来自 '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();
}

使用当前代码,没有任何反应。该文件保持原样,尽管对我来说,代码应该从中读取所有内容,然后附加它。

我该如何解决这个问题? 谢谢

这可能对您有帮助:

static void getAllData(final Integer choice) throws Exception {
    final BufferedReader br = new BufferedReader(new FileReader("Shadow.txt"));
    String data = "";
    final StringBuilder builder = new StringBuilder();
    if(choice.equals(1)) {
        while(data != null) {
            data = br.readLine();
            if(data != null) {
                builder.append(data + "\n");
            }
        }
        writeToFile(builder.toString());
        br.close();
    }
}

static void writeToFile(final String data) throws IOException {
    final File file = new File("Shadow.txt");
    final FileWriter fileWriter = new FileWriter(file, true);
    final BufferedWriter bw = new BufferedWriter(fileWriter);
    bw.write(data);
    bw.flush();
    bw.close();
}