java文件读写耗时比较
来源:互联网 发布:正交矩阵的性质证明 编辑:程序博客网 时间:2024/05/17 08:21
public class ImageSaveServiceImpl implements ImageSaveService { /** * 图片读取(一次性读取) * @param imgPath * @return */ @Override public String saveImage(String imgPath) { long startTime = System.currentTimeMillis();//开始读取时间 long endTime = 0L; if(imgPath == null){ throw new DctException(ErrorCodeCore.DATA_NOT_NULL); } try { FileInputStream inputStream = new FileInputStream(imgPath);//图片输入流 FileOutputStream outputStream = new FileOutputStream("D:/123.jpg"); int size = inputStream.available();//得到文件总大小 byte[] buff = new byte[size]; inputStream.read(buff); outputStream.write(buff); inputStream.close(); outputStream.close(); endTime = System.currentTimeMillis();//读取结束时间 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return "整体读取耗时:"+(endTime-startTime) + "ms"; } /** * 循环读取 * @param imgPath * @return */ @Override public String saveImage2(String imgPath) { long startTime = System.currentTimeMillis();//开始读取时间 long endTime = 0L; if(imgPath == null){ throw new DctException(ErrorCodeCore.DATA_NOT_NULL); } try { FileInputStream inputStream = new FileInputStream(imgPath);//图片输入流 FileOutputStream outputStream = new FileOutputStream("D:/456.jpg"); //int size = inputStream.available();//得到文件总大小 int length = 0; byte[] buff = new byte[1024]; while ((length = inputStream.read(buff)) != -1){ outputStream.write(buff,0,length); } //inputStream.read(buff); //outputStream.write(buff); inputStream.close(); outputStream.close(); endTime = System.currentTimeMillis();//读取结束时间 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return "循环读取耗时:"+(endTime-startTime) + "ms"; }}下面是传入4.16M文件 第一种和第二种方法的时间对比,一般情况下文件不是很大的情况下整体读取速度比较快 文件很大的时候就不要用第一种方式了,容易溢出。 另外还可以用缓冲流读取 BufferedInputStream 一次读取一行效率比 FileInputStream 要高
阅读全文
0 0
- java文件读写耗时比较
- Java 文件读写 方式比较
- java、groovy读写文件比较
- Java 中对文件的读写操作之比较
- Java 中对文件的读写操作之比较
- Java 中对文件的读写操作之比较
- 入门:Java 中对文件的读写操作之比较
- Java 中对文件的读写操作之比较
- Java 中对文件的读写操作之比较
- Java 中对文件的读写操作之比较
- Java 中对文件的读写操作之比较
- Java 之 文件读写及性能比较总结
- c++fstream文件读写(与java的比较)
- Java文件读写IO/NIO及性能比较总结
- Java IO流和NIO流读写文件比较
- Java 之 文件读写及性能比较总结
- 回忆Java 之 文件读写及性能比较总结
- Java文件读写IO/NIO及性能比较总结
- 联网检测身份证验证返照片
- Neo4j中的SQL(2)
- spark快速入门
- 用小米机作为调试机出现错误:Installation failed with message Failed to establish session
- NVIDIA-TX2搭建QT环境开发ROS
- java文件读写耗时比较
- vue组件使用
- LeetCode 396. Rotate Function
- HttpURLConnection 、HttpPost、Okhttp 等POST方式发送JSON数据
- python基础-管道通信(进程)、线程Condition使用
- JAVA 生成当前时间后一天零点
- Neo4j中的SQL(3)
- 修改浏览器User Agent
- 微信小程序设置控件权重