BufferedReader / Writer无法在Java中工作

时间:2016-06-01 09:12:14

标签: java file writer reader buffered

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

使用此当前代码,没有任何反应。该文件仍然保持原样,虽然对我而言,代码应该从中读取所有内容,然后附加它。

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

1 个答案:

答案 0 :(得分:0)

这可能会对您有所帮助:

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();
}
相关问题