Java的檔案讀寫操作

來源:互聯網
上載者:User

標籤:使用   編碼方式   指定   get   ace   sys   效率   buffer   pack   

當我們讀寫文字檔的時候,採用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的類是InputStreamReader, 它是位元組轉換為字元的橋樑。你可以在構造器重指定編碼的方式,如果不指定的話將採用底層作業系統的預設編碼方式,例如GBK等。使用FileReader讀取檔案:

/*//這是FileReader讀取檔案        FileReader fr= new FileReader("src/file/ming.txt");        int ch=0;        while((ch=fr.read())!=-1)        {            System.out.println((char)ch);        }*/   

其中read()方法返回的是讀取得下個字元。當然你也可以使用read(char[] ch,int off,int length)這和處理二進位檔案的時候類似。

事實上在FileReader中的方法都是從InputStreamReader中繼承過來的。read()方法是比較好費時間的,如果為了提高效率我們可以使用BufferedReader對Reader進行封裝,這樣可以提高讀取得速度,我們可以一行一行的讀取文本,使用readLine()方法。

/*         //這是inputStreamReader,它是位元組轉換為字元的橋樑        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("src/file/ming.txt")));        String data = null;        while((data = br.readLine())!=null)        {        System.out.println(data); 
}
*/


綜合執行個體:

package file;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;public class fileTest {    public static void main(String []args)     {        /*//這是FileReader讀取檔案        FileReader fr= new FileReader("src/file/ming.txt");        int ch=0;        while((ch=fr.read())!=-1)        {            System.out.println((char)ch);        }*/        /*         //這是inputStreamReader,它是位元組轉換為字元的橋樑        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("src/file/ming.txt")));        String data = null;        while((data = br.readLine())!=null)        {        System.out.println(data);         }*/                File file = new File("src/file/ming.txt");        try{            file.createNewFile();        }catch(IOException e)        {            e.printStackTrace();                 }        //向檔案寫入內容(輸出資料流)        String str="小明喜歡學習,he likes palying football.";        byte bt[]=new byte[1024];        bt=str.getBytes();        try{            FileOutputStream in=new FileOutputStream(file);            try{                in.write(bt,0,bt.length);                in.close();            }catch(IOException e)            {                e.printStackTrace();            }        }catch(FileNotFoundException  e)        {            e.printStackTrace();        }                try{            //讀取檔案內容(輸入資料流)            FileInputStream out =new FileInputStream(file);            InputStreamReader isr=new InputStreamReader(out);            BufferedReader br=new BufferedReader(isr);            String data=null;            while((data=br.readLine())!=null)            {                System.out.println(data);            }        }catch(Exception e)        {            e.printStackTrace();        }    }}

 

Java的檔案讀寫操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.