我知道我可以这样做(当然还有相应的尝试和捕捉)
Path path = Paths.get(outputFieLocation);
BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8);
这也是
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFieLocation), 5 * 1024);
有没有办法使用Path作为参数来设置缓冲区大小?
答案 0 :(得分:1)
不,但您可以使用path.toFile()
将Path
转换为适合File
构造函数的等效FileWriter
对象。请注意,您不应使用FileWriter
,因为遗憾的是,它不允许指定Charset
。
final File file = path.toFile();
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(file),"UTF-8"), bufferSize);
如果没有特定的理由设置自定义缓冲区大小,请使用Files.new...
替代方法,JDK默认值是合理的。