Stream方式寫入檔案必須要使用FileOutputStream物件,此種方式不僅可寫入文字,也可以將自定的物件寫入檔案之中。此種方式是以Byte為單位對檔案做存取,所以通常在使用這種方式來做檔案讀寫時,會一起使用其他ObjectOutputStream,目的是要將儲存的目標檔案自動以byte形式做儲存。

小試身手小範例

本範例僅使用FileOutputStream配合String當中的getBytes()做簡單測試。

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
public class example0802 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView( R.layout.main );
    try{
        String data01 = "This is OutputStream Data01!";
        String data02 = "\n";
        String data03 = "Hello! This is Data02!!";
        String data04 = "\n";
        //建立FileOutputStream物件,路徑為SD卡中的output.txt
        FileOutputStream output = new FileOutputStream("/sdcard/output.txt");
        output.write(data01.getBytes());  //write()寫入字串,並將字串以byte形式儲存。
        output.write(data02.getBytes());   //利用getBytes()將字串內容換為Byte
        output.write(data03.getBytes());
        output.write(data04.getBytes());
        output.close();
    }catch(Exception e){
        e.printStackTrace();
    }
  }
}

AndroidManifest.xml要記得增加這行唷!

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

輸出畫面 (關於cmd使用方式可以參考[Android] 使用adb指令 及[Android] 寫入文字檔)

cmd08  

arrow
arrow

    S 發表在 痞客邦 留言(1) 人氣()