歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中使用File文件進行數據存儲

Android中使用File文件進行數據存儲

日期:2017/3/1 10:39:58   编辑:Linux編程
上一篇學到使用SharedPerences進行數據存儲(http://www.linuxidc.com/Linux/2012-01/51442.htm),接下來學習一下使用File進行存儲 我們有時候可以將數據直接以文件的形式保存在設備中,

例如:文本文件,圖片文件等等

源碼下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/1月/13日/Android中使用File文件進行數據存儲/

使用File進行存儲操作主要使用到以下的

①:public abstract FileInputStream openFileInput (String name)

這個主要是打開文件,返回FileInputStream

②:public abstract FileOutputStream openFileOutput (String name, int mode)

這個主要是寫入文件,如果該文件不存在,直接進行創建,返回FileOutputStream

Mode(主要有以下的四種的模式)

MODE_APPEND //在尾部追加
MODE_PRIVATE //私有
MODE_WORLD_READABLE //可讀
MODE_WORLD_WRITEABLE //可寫

③:FileInputStream(獲取文件輸入流)與FileOutputStream (獲取文件輸出流)這兩類在JavaIO 操作中很常見

接下來進行操作 保存成功之後講文件保存在當前應該程序的包名下的files/(可以改變存儲的其他路徑)



源代碼如下:

[java]
  1. package com.jiangqq.file;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import android.widget.Toast;
  11. public class FileAcitivy extends Activity
  12. {
  13. private Button bt1, bt2;
  14. private EditText et1, et2;
  15. private static final String FILENAME = "temp_file.txt";
  16. @Override
  17. public void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.main);
  20. bt1 = (Button) this.findViewById(R.id.bt1);
  21. bt2 = (Button) this.findViewById(R.id.bt2);
  22. et1 = (EditText) this.findViewById(R.id.et1);
  23. et2 = (EditText) this.findViewById(R.id.et2);
  24. bt1.setOnClickListener(new OnClickListener() {
  25. @Override
  26. public void onClick(View v) {
  27. write(et1.getText().toString());
  28. Toast.makeText(FileAcitivy.this, "文件寫入成功", Toast.LENGTH_LONG)
  29. .show();
  30. }
  31. });
  32. bt2.setOnClickListener(new OnClickListener() {
  33. @Override
  34. public void onClick(View v) {
  35. et2.setText(read());
  36. Toast.makeText(FileAcitivy.this, "文件讀出成功", Toast.LENGTH_LONG)
  37. .show();
  38. }
  39. });
  40. }
  41. // 讀文件方法
  42. private String read() {
  43. try {
  44. FileInputStream inputStream = openFileInput(FILENAME);
  45. byte[] b = new byte[inputStream.available()];
  46. inputStream.read(b);
  47. return new String(b);
  48. } catch (Exception e) {
  49. }
  50. return null;
  51. }
  52. // 寫文件
  53. private void write(String content) {
  54. try {
  55. FileOutputStream fos = openFileOutput(FILENAME, MODE_APPEND);
  56. fos.write(content.getBytes());
  57. fos.close();
  58. } catch (Exception e) {
  59. }
  60. }
  61. }

Copyright © Linux教程網 All Rights Reserved