IO流-檔案的寫入和讀取

風痕影默發表於2014-09-27

1、檔案寫入

類:

  FileWriter繼承自Writer(字元流基類之一,另外一個為Reader)

方法:

  writer(引數); 根據引數可以寫入字元、字元陣列、字元陣列中的一部分、整型、字串、字串中的一部分,拋IOException

  flush(); 重新整理記憶體,把記憶體中的字元流寫入檔案

  close(); 重新整理記憶體並關閉字元輸入流,丟擲IOException

import java.io.*;

class Test
{
    public static void main(String[] args)
    {
        //這是在jdk1.7引入的可以隱性的呼叫close()方法,FileWriter在建立時丟擲IOException
        try(FileWriter fileWriter = new FileWriter("Test.txt"))
        {
            fileWriter.write("你好");
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }

    }
}
/*這是不用新方式寫,很繁瑣
FileWriter fileWriter = null;
try()
{
    fileWriter = new FileWriter("Test.txt");
    fileWriter.write("你好");
}
catch(Exception e)
{
    e.printStackTrace();
}
finally
{
    try()
    {
        fileWriter.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}
*/

注:FileWriter在建立時,若檔案存在,建立同名空檔案覆蓋之,若不存在建立,若想新增的話用一下構造方法

  FileWriter fileWriter = new FileWriter("檔名", ture);  設定新增為true

2、檔案讀取

類:

  FileReader 繼承自Reader, java.io包

方法:

  read(引數); 可以讀取一個字元,也可以讀取字元陣列,也可以讀取字元陣列的一部分

  close(); 關閉字元輸入流

程式碼舉例:

class Test
{
    public static void main(String[] args)
    {
      //FileReader構造方法建立一個與所讀取檔案關聯的一個字元輸入流
        try(FileReader fileReader = new FileReader("Test.txt"))
        {
            char[] charFile = new char[1024];
            int charNum = fileReader.read(charFile);
            System.out.print(new String(charFile, 0, charNum));
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }
    }
}

 

相關文章