Android中文件读写的Demo
2013年11月26日 08:11:22 Android ⁄ 共 3052字 暂无评论 ⁄ 被围观 1,721次

这是一个Android平台的小应用,主要实现了SD卡上文件的读写操作,通过IO流来实现。

MainActivity.java

  1. package com.landroid.files;  
  2.   
  3. import com.landroid.files.R;  
  4. import com.landroid.service.FileService;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.view.View;  
  9. import android.view.View.OnClickListener;  
  10. import android.widget.Button;  
  11. import android.widget.EditText;  
  12. import android.widget.Toast;  
  13.   
  14. public class MainActivity extends Activity {  
  15.     /** Called when the activity is first created. */  
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         Button button = (Button) this.findViewById(R.id.button);  
  21.         button.setOnClickListener(new ButtonOnClickListener());  
  22.     }  
  23.       
  24.     private final class ButtonOnClickListener implements OnClickListener {  
  25.   
  26.         public void onClick(View v) {  
  27.             EditText filenameText = (EditText) findViewById(R.id.filename);  
  28.             EditText filecontentText = (EditText) findViewById(R.id.filecontent);  
  29.             String filename = filenameText.getText().toString();  
  30.             String filecontent = filecontentText.getText().toString();  
  31.             FileService service = new FileService(getApplicationContext());  
  32.             try {  
  33.                 service.save(filename, filecontent);  
  34.                 Toast.makeText(getApplicationContext(), R.string.success, 1).show();  
  35.             } catch (Exception e) {  
  36.                 Toast.makeText(getApplicationContext(), R.string.fail, 1).show();  
  37.                 e.printStackTrace();  
  38.             }  
  39.         }  
  40.           
  41.     }  
  42. }  

 

FileService.java

  1. package com.landroid.service;  
  2.   
  3. import java.io.ByteArrayOutputStream;  
  4. import java.io.FileInputStream;  
  5. import java.io.FileNotFoundException;  
  6. import java.io.FileOutputStream;  
  7.   
  8. import android.content.Context;  
  9.   
  10. public class FileService {  
  11.     private Context context;  
  12.     public FileService(Context context) {  
  13.         this.context = context;  
  14.     }  
  15.   
  16.     /** 
  17.      * 保存文件 
  18.      * @param filename 文件名称 
  19.      * @param filecontent 文件内容 
  20.      */  
  21.     public void save(String filename, String filecontent) throws Exception {  
  22.         // 私有操作模式:创建出来的文件只能被本应用访问,其它应用无法访问该文件  
  23.         // 另外采用私有操作模式创建的文件,写入文件中的内容会覆盖源文件的内容  
  24.         FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE);  
  25.         outStream.write(filecontent.getBytes());  
  26.         outStream.close();  
  27.     }  
  28.       
  29.     /** 
  30.      * 读取文件内容 
  31.      * @param filename 文件名称 
  32.      * @return 文件内容 
  33.      * @throws Exception 
  34.      */  
  35.     public String read(String filename) throws Exception {  
  36.         FileInputStream inStream = context.openFileInput(filename);  
  37.         byte[] buffer = new byte[1024];  
  38.         ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
  39.         int len = 0;  
  40.         while((len = inStream.read(buffer)) != -1) {  
  41.             outStream.write(buffer, 0, len);  
  42.         }  
  43.         byte[] data = outStream.toByteArray();  
  44.         new String(data);  
  45.         return null;  
  46.     }  
  47.   
  48. }  

 

给我留言

留言无头像?