首頁 >Java >Java基礎 >java中檔案怎麼讀取

java中檔案怎麼讀取

尚
原創
2019-11-19 15:28:075228瀏覽

java中檔案怎麼讀取

java的讀寫操作是學java開發的必經之路,下面我們就來看看java檔案怎麼讀。

1、使用BufferedReader讀取文件

BufferedReader是為了提供讀取的效率而設計的包裝類,它可以包裝字元流。可以從字符輸入流中讀取文本,緩衝各個字符,從而實現字符、數組和行的高效讀取。

static long testBuffered(String fileName) throws IOException{
    Long startTime = System.currentTimeMillis();
    BufferedReader reader = new BufferedReader(new FileReader(fileName));
    char[] buffer=new char[8*1024];
    long sum = 0;
    while((count=reader.read(buffer))!=-1)
    {
        sum += count;
    }
    reader.close();
    Long endTime = System.currentTimeMillis();
    System.out.println("Total time of BufferedReader is "+ (endTime - startTime) + " milliseconds, Total byte is " + sum);
    return endTime - startTime;
}

2、使用RandomAccessFile類別讀取文件

 RandomAccessFile是Java提供的對文件內容的訪問,既能夠讀取文件,也能夠寫文件;RandomAccessFile支援隨機存取文件,可以存取文件的任意位置。

static long testRandomAccess(String fileName) throws IOException{
    Long startTime = System.currentTimeMillis();
    RandomAccessFile reader = new RandomAccessFile(fileName,"r");
    int count;
    byte[] buffer=new byte[8*1024];//缓冲区
    long sum = 0;
    while((count=reader.read(buffer))!=-1){
        sum += count;
    }
    reader.close();
    Long endTime = System.currentTimeMillis();
    System.out.println("Total time of RandomAccess is "+ (endTime - startTime) + " milliseconds, Total byte is " + sum);
    return endTime - startTime;
}

3、使用FileInputStream方法讀取檔案

這種方式也很常見,原理也和名字一樣,把檔案變成輸入流,然後一個字符一個字符的讀取。它是呼叫了InputStream的read函數實作的,程式碼如下:

public int read(byte b[], int off, int len) throws IOException {
    int c = read();
    if (c == -1) {
        return -1;
    }
    b[off] = (byte)c;
 
    int i = 1;
    try {
        for (; i < len ; i++) {
            c = read();
            if (c == -1) {
                break;
            }
            b[off + i] = (byte)c;
        }
    } catch (IOException ee) {
    }
    return i;
}

流是一個抽象的概念。當Java程式需要從資料來源讀取資料時,會開啟一個到資料來源的流。資料來源可以是文件,記憶體或網路等。同樣,當程式需要輸出資料到目的地時也一樣會開啟一個流,資料目的地也可以是檔案、記憶體或網路等。流的創建是為了更方便地處理資料的輸入輸出。

更多java知識請關注java基礎教學

以上是java中檔案怎麼讀取的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn