我用forbiddenapis检查我的代码并且它给出了错误:
[forbiddenapis] Forbidden class/interface use: java.io.FileWriter [Uses default charset]
[forbiddenapis] in org.a.b.FileObject (FileObject.java:45)
指向第一行:
FileWriter fw = new FileWriter(fileName);
try {
BufferedWriter x = new BufferedWriter(fw);
try {
x.write(Integer.toString(value));
}
finally {
x.close();
}
}
finally {
fw.close();
}
我该如何解决?
答案 0 :(得分:0)
此类的构造函数假定默认字符编码和默认字节缓冲区大小是可接受的。要自己指定这些值,请在FileOutputStream上构造一个OutputStreamWriter。
答案 1 :(得分:0)
您无法使用FileWriter。使用FileOutputStream
和OutputStreamWriter
。
try(OutputStream fos = new FileOutputStream("File");
Writer writer = new OutputStreamWriter(fos, "CHARSET")){
// ...
}
另一种选择是:
try(Writer writer=Files.newBufferedWriter(Path, Charset.forName("charset"))){
// ...
}