1

我知道我可以做到这一点(当然有相应的尝试和捕捉)

Path path = Paths.get(outputFieLocation);
BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8);

这也是

BufferedWriter writer = new BufferedWriter(new FileWriter(outputFieLocation), 5 * 1024);

有没有办法使用 Path 作为参数来设置缓冲区大小?

4

1 回答 1

2

不,但您可以使用path.toFile()将 a转换为适用于 的构造函数的Path等效对象。请注意,您不应使用 ,因为遗憾的是它不允许指定.FileFileWriterFileWriterCharset

final File file = path.toFile();
BufferedWriter out = new BufferedWriter(
   new OutputStreamWriter(new FileOutputStream(file),"UTF-8"), bufferSize);

从这里

如果没有特殊原因设置自定义缓冲区大小,请使用Files.new...替代方案,JDK 默认值是明智的。

于 2013-10-02T12:55:51.047 回答