java - 阻止文件截断 Java?

标签 java file

这是我的代码

try {
        fstream = new FileWriter("/Applications/AirDrop/contacts.txt");
        BufferedWriter out = new BufferedWriter(fstream);

          out.write(stringToInsert);

        out.close();

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

现在每次我尝试调用这个方法时(这是代码在一个名为 writeToFile 的方法中,带有一个字符串参数)

最佳答案

您需要使用 two-argument constructor of FileWriter :

fstream = new FileWriter("/Applications/AirDrop/contacts.txt", true);

更好的是:根本不要使用 FileWriter,因为它总是使用平台默认编码,这通常不是一个好主意!相反,您应该明确指定要使用的编码(UTF-8 通常是一个很好的默认值,如果您不知道还可以选择什么):

fstream = new OutputStreamWriter(new FileOutputStream("/Applications/AirDrop/contacts.txt", true), "UTF-8");

另一个提示:经常打开和关闭文件很可能不是最好的主意:您通常应该打开文件一次进行写入,写入所有需要写入的内容,然后然后关闭它。

关于java - 阻止文件截断 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304828/

相关文章:

java - 应用购买中的 Android 磨损

c - 从文件读取动态结构

ruby - ruby 中的 unshift + file.join

r - 命名归档对象的最佳实践?

用于测试最近修改的文件的 Python 脚本 - 结果不一致

c# - 为什么我不能在 MVC Controller 中使用 System.IO.File 方法?

java - 在 Netbeans 8.0.2 中为 Android 应用程序创建数据库

java - 如何计算字符串中唯一字符的数量? - 更新

java - 优雅的分支(任何语言)

java - 如何通过 OSGi 蓝图属性占位符和 Java DSL 加载外部属性文件