以Stream方式寫入檔案必須要使用FileOutputStream物件,此種方式不僅可寫入文字,也可以將自定的物件寫入檔案之中。此種方式是以Byte為單位對檔案做存取,所以通常在使用這種方式來做檔案讀寫時,會一起使用其他Object的OutputStream,目的是要將儲存的目標檔案自動以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] 寫入文字檔)