测试结果:
500W数据 5000一写,15秒写入完成
import .*;
import ;
import ;
public abstract class FileUtils {
/**
* append写入
* @param file 文件路径
* @param content 待写入的文件内容
* @param bufferSize 单次写入缓冲区大小 默认4M 1024 * 1024 * 4
*/
public static void write(String file, String content, Integer bufferSize) {
bufferSize = null == bufferSize ? 4194304 : bufferSize;
ByteBuffer buf = (bufferSize);
FileChannel channel = null;
try {
File fileTemp = new File(file);
File parent = ();
if (!()) ();
if (!()) ();
// new FileOutputStream(file, append) 第二个参数为true表示追加写入
channel = new FileOutputStream(file, true).getChannel();
(());
(); // 切换为读模式
while(()) {
(buf);
}
} catch (Exception e) {
();
} finally {
try {
();
} catch (IOException e) {
();
}
}
}
}