1. 程式人生 > >java檔案讀寫耗時比較

java檔案讀寫耗時比較

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 要高

相關推薦

java檔案耗時比較

public class ImageSaveServiceImpl implements ImageSaveService { /** * 圖片讀取(一次性讀取) * @param imgPath * @return */ @Override p

Java檔案IO/NIO及效能比較總結

幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心將丟掉的都給撿起來。 檔案讀寫是一個在專案中經常遇到的工作,有些時候是因為維護,有些時候是新功能開發

java檔案詳細介紹

主要針對java中檔案的概念以及一些用法 ·java中檔案讀寫操作基於流這個概念 流各種方法存在於java.io包中檔案是資料流中最常用的一.檔案的相關方法歸類:建立:File 物件名=new File("檔名");讀取:·File 物件名=new File("檔案路徑");  &nb

java檔案I/O

寫和讀檔案:     import java.io.*;     public class fileStreamTest2{       public static void main(String[

java檔案

/**  *   */ package com.struts2.other; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F

Java檔案操作

程式碼 package fileOperation; import java.io.BufferedReader; import java.io.BufferedWriter; import ja

Java 檔案簡單例項

import java.io.*; public class ReadWrite { public void writeFile() { String str = "this is a p

Java檔案操作(FileInputStream、FileReader、BufferedReader)

1.位元組流和字元流選擇 位元組流:位元組流讀取的時候,讀到一個位元組就返回一個位元組; 主要用於讀取圖片,MP3,AVI視訊檔案。 字元流:字元流使用了位元組流讀到一個或多個位元組,如讀取中文時,就會一次讀取2個位元組。只要是處理純文字資料,就要優先考慮

Java檔案—utf-8格式

 Windows預設檔案格式為UTF8格式,之前我們做過一個檔案讀寫,但寫入檔案的方式是二進位制格式,接下來,我們以windows預設的utf-8格式讀寫檔案。 IOStream類 package c

轉!JAVA檔案操作

file(記憶體)—-輸入流—->【程式】—-輸出流—->file(記憶體) 當我們讀寫文字檔案的時候,採用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的類是InputStreamReader, 它是位元組轉

Java檔案及效能比較總結

Java 之 檔案讀寫及效能比較總結 2014年05月12日 17:56:49 閱讀數:21765  幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心

沉澱再出發:java檔案

沉澱再出發:java的檔案讀寫 一、前言   對於java的檔案讀寫是我們必須使用的一項基本技能,因此瞭解其中的原理,位元組流和字元流的本質有著重要的意義。 二、java中的I/O操作  2.1、檔案讀寫的本質    概念框架: 1 方式

java實現伺服器檔案

https://github.com/MAXIAODONGS/Remote-operation-of-static-resources 這個主要實現java遠端訪問伺服器的讀寫檔案操作,自動登入讀寫檔案,以上程式碼整理來自網際網路,然後自己將很多瑣碎的東西整理在了一起 pom.xml要配置

C# & JAVA檔案

using System; using System.IO; using System.Text; namespace ConsoleApplication4 { class Program { public static void Read(string path) { FileS

Java學習——txt檔案

package HHH; import java.io.*; import static java.lang.System.out; public class OpenFile { public static void main(String[] args) {

Java檔案管理工具

Java對檔案讀寫管理工具 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import j

java檔案操作,java nio 之MappedByteBuffer,高效檔案/記憶體對映

原文地址:https://www.cnblogs.com/lyftest/p/6564282.html   java處理大檔案,一般用BufferedReader,BufferedInputStream這類帶緩衝的Io類,不過如果檔案超大的話,更快的方式是採用MappedByteB

java的IO流和檔案

IO流 IO流分類 按資料流向分:輸入流、輸出流 按資料型別分:位元組流(x xInputStream 讀,xxOutputStream寫)、字元流(xxRead讀,xxWrite寫) 如果資料所在的檔案通過windows自帶的記事本開啟並能

Java實現CSV檔案操作

wechat:812716131 ------------------------------------------------------ 技術交流群請聯絡上面wechat ----------------------------------------------

Java檔案操作

                file(記憶體)----輸入流---->【程式】----輸出流---->file(記憶體)當我們讀寫文字檔案的時候,採用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的類是Input