Java 带路径参数和缓冲区大小参数的BufferedWriter
我知道我可以做到这一点(当然有相应的尝试和捕捉) 还有这个Java 带路径参数和缓冲区大小参数的BufferedWriter,java,java-io,Java,Java Io,我知道我可以做到这一点(当然有相应的尝试和捕捉) 还有这个 BufferedWriter writer = new BufferedWriter(new FileWriter(outputFieLocation), 5 * 1024); 有没有办法使用Path作为参数来设置缓冲区大小?没有,但是可以使用Path.toFile()将路径转换为适合FileWriter构造函数的等效文件对象。请注意,不应使用文件编写器,因为它不允许指定字符集 final File file = path.toFil
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFieLocation), 5 * 1024);
有没有办法使用Path作为参数来设置缓冲区大小?没有,但是可以使用
Path.toFile()
将路径
转换为适合FileWriter
构造函数的等效文件
对象。请注意,不应使用文件编写器
,因为它不允许指定字符集
final File file = path.toFile();
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(file),"UTF-8"), bufferSize);
()
如果没有设置自定义缓冲区大小的具体原因,请使用
Files.new…
替代选项,JDK默认值是合理的。默认缓冲区大小为8192个字符,是否需要更大?该值应足以进行I/O操作,并且不应出现性能问题。您将如何写入数据@csoroiu我正在合并100MB到500MB的大型日志文件。我想使用至少500 KB的缓冲区。@user251414能否更具体一点,我不明白你的问题。如果你想合并文件,为什么不使用transferTo函数?如果你不需要做一些特殊的逻辑,这个功能运行得更快。
final File file = path.toFile();
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(file),"UTF-8"), bufferSize);