FileUtils.writeStringToFile方法的替代方案是什么?

13

我需要在一条语句中将内容写入文件,类似于 FileUtils.writeStringToFile

由于该方法已过时,是否有其他替代方法?


1
根据文档,指定编码的writeStringToFile版本并未被弃用。 - TiiJ7
5个回答

14

通过阅读此 文档,它说明:

Deprecated. 2.5 use writeStringToFile(File, String, Charset) instead
Writes a String to a file creating the file if it does not exist using the default encoding for the VM.

你可以跟随这个例子:

final File file = new File(getTestDirectory(), "file_name.txt");
FileUtils.writeStringToFile(file, "content", "ISO-8859-1");

如果你不想传递编码,你可以在参数中传递(String) null

如需更多信息,请查看链接: 使用链接


5

使用这个

File file = ...
String data = ...

try{
    FileUtils.writeStringToFile(file, data, Charset.defaultCharset());
}catch(IOException e){
    e.printStackTrace();
}

2
您可以使用Java标准库中的Files,除非您需要使用apache commons。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;

// to write to your file use

try {
    // To overwrite
    Files.write(Paths.get("Your\\path"), "YourString".getBytes(), StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE);
    // To append to the file
    Files.write(Paths.get("Your\\path"), "YourString".getBytes(), StandardOpenOption.WRITE, StandardOpenOption.CREATE);
} catch (IOException e) {
    e.printStackTrace();
}

0
解决方法是在第三个参数中添加Charset.defaultCharset()
例如,将其修改为
writeStringToFile(file, data)

writeStringToFile(file, data, Charset.defaultCharset())

原文:

文档中写道:

已过时。2.5版本请使用writeStringToFile(File, String, Charset)代替。

源代码的过时函数如下:

    @Deprecated
    public static void writeStringToFile(final File file, final String data) throws IOException {
        writeStringToFile(file, data, Charset.defaultCharset(), false);
    }

-1

看一下 从你的问题中,我认为你正在寻找FileUtils.writeStringToFile的选项。
这个链接会提供相同的内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接