SDカード読み書きの例
多くの知識は本当に理解して身につけてこそ、使いこなすことができ、一反三を挙げることができる.Javaのファイル操作とandroidシステムSDカードのファイル操作について、違いがあると思いますか.明らかに本質的な違いはありません.無理に言えば、それは道滴にも足りませんが、実際の運用では以下の点に注意しなければなりません.そうしないと、問題が巻き込まれます.1、まずandroidシステムSDカードのファイル操作に使用権限を追加する必要があります:androidシステムは外来プログラムに勝手に自分のメモリを動かすことはできません.許可証がなければ、申し訳ありませんが、私の地盤を動かすことはできません.私の地盤で私の言うことを聞かなければなりません.プロファイルにxmlにSDカードのデータ読み書き権限を追加します.2、ファイルの絶対パスを取得する:ここには2つの方法がある1:/mnt/sdcard/+ファイル名を直接使用する:final String FILE_NAME = "/mnt/sdcard/00000.H264"; 方法2:システムが提供する方法でSDのパスを取得し、後にファイル名を付ける.この方法は少しくどくて、しばらくそのすばらしさを感じていませんが、ここでは羅列して、後で参考にします.後述の例を参照してください.3、ファイルパス取得後の操作は、FileInputStream、FileOutputStream、FileReader、FileWriter
四つ
クラスの使用.具体的には「Java中ファイル読み書き」編の下にSDカードファイルにデータを書き込む簡単な運用コードを添付する:方法1運用コード:
方法2インスタンスコードの運用
四つ
クラスの使用.具体的には「Java中ファイル読み書き」編の下にSDカードファイルにデータを書き込む簡単な運用コードを添付する:方法1運用コード:
public class FileTestActivity extends Activity {
final String FILE_NAME = "/mnt/sdcard/007.test";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.button1);
final byte[] buf = { 0 };
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
try {
FileOutputStream fout = new FileOutputStream(FILE_NAME,
true);
BufferedOutputStream bout = new BufferedOutputStream(fout);
bout.write(buf);
bout.flush();
bout.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
方法2インスタンスコードの運用
public class MainActivity extends Activity {
final String FILE_NAME = "/007.test";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.button1);
final byte[] buf = { 0 };
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
File sdDir = Environment.getExternalStorageDirectory();
System.out.println(sdDir);
FileOutputStream fout;
try {
System.out.println(sdDir.getCanonicalPath() + FILE_NAME);
fout = new FileOutputStream(sdDir.getCanonicalPath()
+ FILE_NAME, true);
BufferedOutputStream bout = new BufferedOutputStream(
fout);
bout.write(buf);
bout.flush();
bout.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
}
}