Java IO 学习笔记一:为什么带 Buffer 的比不带 Buffer 的快
发布时间:2023-04-18 14:18:52 所属栏目:教程 来源:
导读:Java IO 学习笔记一:为什么带 Buffer 的比不带 Buffer 的快
原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快
Java 中为什么 BufferedReader ,BufferedWriter 要比 FileReader 和 FileWrite
原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快
Java 中为什么 BufferedReader ,BufferedWriter 要比 FileReader 和 FileWrite
|
Java IO 学习笔记一:为什么带 Buffer 的比不带 Buffer 的快 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java 中为什么 BufferedReader ,BufferedWriter 要比 FileReader 和 FileWriter 高效? 其中R大的一个回答: image 我们可以通过实验来说明这个问题: 环境:CentOS 7, jdk1.8 首先,写一个不带 buffer 的代码 static byte[] data = "123456789\n".getBytes(); static String path = "/data/io/out.txt"; public static void testBasicFileIO() throws Exception { File file = new File(path); FileOutputStream out = new FileOutputStream(file); while (true) { out.write(data); } } 同时,我们写一个带 buffer 的代码 public static void testBufferedFileIO() throws Exception { File file = new File(path); bufferedoutputstream out = new bufferedoutputstream(new FileOutputStream(file)); while (true) { out.write(data); } } 通过main函数的args参数来控制执行哪个方法,完整代码为: import java.io.bufferedoutputstream; import java.io.File; import java.io.FileOutputStream; public class OSFileIO { static byte[] data = "123456789\n".getBytes(); static String path = "/data/io/out.txt"; public static void main(String[] args) throws Exception { switch (args[0]) { case "0": testBasicFileIO(); break; case "1": testBufferedFileIO(); break; default: break; } } public static void testBasicFileIO() throws Exception { File file = new File(path); FileOutputStream out = new FileOutputStream(file); while (true) { out.write(data); } } public static void testBufferedFileIO() throws Exception { File file = new File(path); bufferedoutputstream out = new bufferedoutputstream(new FileOutputStream(file)); while (true) { out.write(data); } } } (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
