带有Path参数和缓冲区大小参数的BufferedWriter

时间:2013-10-02 12:47:57

标签: java java-io

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

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

这也是

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

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

1 个答案:

答案 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);

from here

如果没有特定的理由设置自定义缓冲区大小,请使用Files.new...替代方法,JDK默认值是合理的。