• SD卡操作


      1 package com.wms.file2;
      2 
      3 import java.io.ByteArrayOutputStream;
      4 import java.io.File;
      5 import java.io.FileInputStream;
      6 import java.io.FileNotFoundException;
      7 import java.io.FileOutputStream;
      8 import java.io.IOException;
      9 
     10 import android.app.Activity;
     11 import android.os.Bundle;
     12 import android.os.Environment;
     13 import android.util.Log;
     14 import android.view.View;
     15 import android.view.View.OnClickListener;
     16 import android.widget.Button;
     17 import android.widget.EditText;
     18 import android.widget.TextView;
     19 import android.widget.Toast;
     20 
     21 public class SD_Files_RW extends Activity implements OnClickListener{
     22     
     23     private String Text_of_input;
     24     
     25     private Button button_01,button_02;
     26     private EditText ed_text;
     27     private TextView text_view;
     28     
     29     private File sdCardDir;
     30     private File saveFile;
     31     private FileOutputStream outStream;
     32     private FileInputStream inStream;
     33 
     34 
     35     /** Called when the activity is first created. */
     36     @Override
     37     public void onCreate(Bundle savedInstanceState) {
     38         super.onCreate(savedInstanceState);
     39         setContentView(R.layout.main);
     40         
     41         
     42         sdCardDir = Environment.getExternalStorageDirectory();
     43         saveFile = new File(sdCardDir,"wms.txt");
     44         
     45         
     46         
     47         ed_text = (EditText) findViewById(R.id.edit_01);
     48         text_view = (TextView) findViewById(R.id.text_01);
     49         
     50         button_01 = (Button)findViewById(R.id.button_01);
     51         button_01.setOnClickListener(this);
     52         
     53         button_02 = (Button)findViewById(R.id.button_02);
     54         button_02.setOnClickListener(this);
     55     }
     56     
     57     
     58     // Button 监听
     59     @Override
     60     public void onClick(View v)
     61     {
     62         // TODO Auto-generated method stub
     63         switch(v.getId())
     64         {
     65         case R.id.button_01: 
     66             {
     67                 Toast.makeText(SD_Files_RW.this, "开始写入文件!", Toast.LENGTH_SHORT).show();
     68                 Write_Files();
     69                 //text_view.setText(ed_text.getText().toString());
     70             }break;
     71         case R.id.button_02:
     72             {
     73                 Toast.makeText(SD_Files_RW.this, "开始读出文件!", Toast.LENGTH_SHORT).show();
     74                 Read_Files();
     75                 
     76             }break;    
     77         }
     78         
     79     }
     80 
     81     private void Write_Files()
     82     {
     83         
     84         //得到用户输入字符
     85         Text_of_input = ed_text.getText().toString();
     86         
     87         
     88         if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
     89         
     90             
     91         //创建  初始化 流对象
     92         try{
     93             
     94         outStream = new FileOutputStream(saveFile);
     95         }
     96         catch (FileNotFoundException e){
     97             Toast.makeText(this, "文件不存在!", Toast.LENGTH_SHORT).show();
     98             return ;
     99         }
    100         
    101 
    102         try {
    103             
    104         //把内容写入文件
    105         outStream.write(Text_of_input.getBytes());
    106 
    107         } catch (FileNotFoundException e) {
    108             
    109         // TODO Auto-generated catch block
    110             Toast.makeText(this, "文件未发现异常!", Toast.LENGTH_SHORT).show();
    111 
    112         } catch (IOException e) {
    113 
    114         // TODO Auto-generated catch block
    115             Toast.makeText(this, "文件读写异常!", Toast.LENGTH_SHORT).show();
    116 
    117         } 
    118         catch (NullPointerException e){
    119             Toast.makeText(this, "文件读写空指针异常!", Toast.LENGTH_SHORT).show();
    120           }
    121         finally {
    122     
    123         try {
    124 
    125         //关闭文件输出流
    126 
    127 
    128         outStream.close();
    129 
    130         
    131         } catch (IOException e) {
    132 
    133         // TODO Auto-generated catch block
    134             Toast.makeText(this, "文件读写异常!", Toast.LENGTH_SHORT).show();            
    135 
    136         }
    137         
    138         Toast.makeText(this, "文件写入成功!", Toast.LENGTH_SHORT).show();
    139         
    140         }
    141         
    142         }else {
    143             Toast.makeText(this, "内存卡不存在!", Toast.LENGTH_SHORT).show();
    144             return ;
    145          }
    146 
    147     }
    148     
    149     private void Read_Files()
    150     {
    151         
    152         int len;
    153         
    154         //然后创建一个字节数组输出流
    155         byte[] buffer = new byte[1024];
    156         
    157         ByteArrayOutputStream ostream = new ByteArrayOutputStream();
    158 
    159         if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    160                         
    161             //创建  初始化 流对象
    162             try{
    163                 
    164             inStream = new FileInputStream(saveFile);
    165             Log.v("Instance inStream", "实例化inStream!");
    166             }
    167             catch (FileNotFoundException e){
    168                 Toast.makeText(this, "文件不存在!", Toast.LENGTH_SHORT).show();
    169                 return ;
    170             }
    171             
    172             
    173             try{
    174                 
    175             Log.v("Read", "读数据!");
    176                 
    177             while((len=inStream.read(buffer))!=-1){
    178                 ostream.write(buffer, 0, len);
    179 
    180             }
    181             
    182             Log.v("Read", "读成功!");
    183             
    184             }catch (IOException e){
    185                 Toast.makeText(this, "读 异常!", Toast.LENGTH_SHORT).show();
    186             }
    187             
    188             
    189             try{
    190             //最后关闭输入流和输出流
    191             inStream.close();
    192             ostream.close();
    193             
    194             Log.v("Read", "读成功!");
    195             
    196             }catch (IOException e){
    197                 Toast.makeText(this, "读 异常!", Toast.LENGTH_SHORT).show();
    198             }
    199             
    200             String str = new String(ostream.toByteArray());
    201             
    202             Log.v("Disp", "文本显示!");
    203             
    204             text_view.setText(str);
    205         
    206     }else{    
    207         Toast.makeText(this, "内存卡不存在!", Toast.LENGTH_SHORT).show();
    208         return ;    
    209     }
    210     }
    211 
    212     
    213 
    214 }

    权限:

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  • 相关阅读:
    Java Cucumber项目构建可运行jar包
    Linux性能优化实战:分析CPU使用率常用命令
    Linux性能优化实战:开篇+平均负载
    Python语法:行缩进
    学习笔记:如何交付高ROI的自动化测试项目
    Coursera C 程序设计进阶,北京大学
    Coursera Programming Languages, Part A 华盛顿大学 Week 4
    Coursera Programming Languages, Part A 华盛顿大学 Week 3
    Coursera 计算导论与 C 语言基础,北京大学
    flex弹性布局
  • 原文地址:https://www.cnblogs.com/xmb7/p/3084983.html
Copyright © 2020-2023  润新知