Android往SD卡上存储文件

 
  1. packagecn.umgsai.file;
  2. importjava.io.File;
  3. importjava.io.FileNotFoundException;
  4. importjava.io.FileOutputStream;
  5. importjava.io.InputStream;
  6. importjava.io.OutputStream;
  7. importcn.umgsai.service.FileService;
  8. importandroid.app.Activity;
  9. importandroid.content.Context;
  10. importandroid.os.Bundle;
  11. importandroid.os.Environment;
  12. importandroid.util.Log;
  13. importandroid.view.View;
  14. importandroid.widget.Button;
  15. importandroid.widget.EditText;
  16. importandroid.widget.TextView;
  17. importandroid.widget.Toast;
  18. publicclassDataActivityextendsActivity{
  19. privateEditTextfilenameText;
  20. privateEditTextcontentText;
  21. privateTextViewresultView;
  22. privatestaticfinalStringTAG="DataActivity";
  23. /**Calledwhentheactivityisfirstcreated.*/
  24. @Override
  25. publicvoidonCreate(BundlesavedInstanceState){
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.main);
  28. filenameText=(EditText)this.findViewById(R.id.filename);
  29. contentText=(EditText)this.findViewById(R.id.content);
  30. resultView=(TextView)this.findViewById(R.id.result);
  31. Stringfilename=filenameText.getText().toString();
  32. Buttonbutton=(Button)this.findViewById(R.id.button);
  33. ButtonshowButton=(Button)this.findViewById(R.id.showButton);
  34. button.setOnClickListener(listener);
  35. showButton.setOnClickListener(listener);
  36. }
  37. privateView.OnClickListenerlistener=newView.OnClickListener(){
  38. @Override
  39. publicvoidonClick(Viewv){
  40. Buttonbutton=(Button)v;
  41. Stringfilename=filenameText.getText().toString();
  42. switch(button.getId()){
  43. caseR.id.button://如果是保存按钮
  44. intresId=R.string.success;
  45. Stringcontent=contentText.getText().toString();
  46. Filefile=newFile(Environment.getExternalStorageDirectory(),filename);
  47. if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
  48. try{
  49. //OutputStreamoutStream=DataActivity.this.openFileOutput(filename,Context.MODE_WORLD_WRITEABLE+Context.MODE_WORLD_READABLE);
  50. //四中操作模式
  51. //Context.MODE_PRIVATE=0覆盖、私有
  52. //Context.MODE_APPEND=32768追加、私有
  53. //Context.MODE_WORLD_READABLE=1其他的程序可以访问
  54. //Context.MODE_WORLD_WRITEABLE=2
  55. //Environment.getExternalStorageDirectory()==newfile("/sdcard")
  56. FileOutputStreamoutStream=newFileOutputStream(file);
  57. try{
  58. FileService.save(outStream,content);
  59. }catch(Exceptione){
  60. Log.e(TAG,e.toString());
  61. resId=R.string.error;
  62. }
  63. }catch(FileNotFoundExceptione){
  64. Log.e(TAG,e.toString());
  65. resId=R.string.error;
  66. }
  67. Toast.makeText(DataActivity.this,resId,Toast.LENGTH_LONG).show();
  68. }
  69. else{
  70. Toast.makeText(DataActivity.this,"SD卡不存在或者写保护",Toast.LENGTH_LONG).show();
  71. }
  72. break;
  73. caseR.id.showButton://如果是显示按钮
  74. try{
  75. InputStreaminStream=DataActivity.this.openFileInput(filename);
  76. Stringtext=FileService.read(inStream);
  77. resultView.setText(text);
  78. }catch(Exceptione){
  79. Log.e(TAG,e.toString());
  80. resId=R.string.error;
  81. Toast.makeText(DataActivity.this,"读取失败",Toast.LENGTH_LONG).show();
  82. }
  83. break;
  84. }
  85. }
  86. };
  87. }

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/702525

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值