1. 程式人生 > >Java——資料讀取優化

Java——資料讀取優化

//temp.txt中放的是abcde
import java.io.*;
class test{
    public static void main(String[] args) throws IOException{
        //int read(char[] cbuf) 將字元讀入陣列

        FileReader fr = new FileReader("temp.txt");

        char[] arr = new char[2];

        int num;
        /*
        num = fr.read(arr);//把從檔案中讀的資料存到陣列中,返回的是讀取字元的個數
System.out.print(new String(arr));//ab num = fr.read(arr);//把從檔案中讀的資料存到陣列中 System.out.print(new String(arr));//cd num = fr.read(arr);//把從檔案中讀的資料存到陣列中 //System.out.print(new String(arr));//ed //使用這種方法,從硬碟上讀是一個一個的讀,並不是一次性讀2個 //int num = fr.read();num的值為2,即返回的是陣列中元素的個數
//分別讀完a和b,然後開始讀c,讀完c之後,c就把a覆蓋掉了,再讀d, //d把b覆蓋掉了,返回值還是2,因為讀了兩個資料,再讀,首先讀的是e, //e把c覆蓋掉了,再讀就沒有了,返回值是1,因為只讀了一個數據, //所以最後輸出的是e和d */ //改為下面的方法 /*num = fr.read(arr);//把從檔案中讀的資料存到陣列中 System.out.print(new String(arr,0,num));//ab //把arr陣列,從下標0開始,轉變為String,num個
num = fr.read(arr);//把從檔案中讀的資料存到陣列中 System.out.print(new String(arr,0,num));//cd num = fr.read(arr);//把從檔案中讀的資料存到陣列中 System.out.print(new String(arr,0,num));//e */ while((num=fr.read(arr))!=-1){ System.out.print(new String(arr,0,num)); } fr.close(); //num = fr.read(arr); //System.out.print(num);//-1 } }