java 不推荐使用的FileUtils.writeStringToFile方法的替代方法是什么?

mcvgt66p  于 2023-05-05  发布在  Java
关注(0)|答案(5)|浏览(272)

我需要在一个类似FileUtils.writeStringToFile的语句中将内容写入文件。
既然它已被弃用,有没有其他替代方案?

pw136qt2

pw136qt21#

通过阅读本文档,它指出:

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
有关更多信息,您可以通过链接:Usage link

7cwmlq89

7cwmlq892#

用这个

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

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

6pp0gazn3#

您也可以使用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();
}
lc8prwob

lc8prwob4#

修复方法是添加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);
    }
7lrncoxx

7lrncoxx5#

Have a look从你的问题我认为你正在搜索FileUtils.writeStringToFile的选项。
此链接将提供相同的内容。

相关问题