Android—SDCard数据存取&Environment简介

地址为:http://www.cnblogs.com/chenyangqi/p/4694761.html?utm_source=tuicool&utm_medium=referral

 

package activity.cyq.helloandroidstudio;

import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class MainActivity extends AppCompatActivity {
    private EditText writeEdit;
    private TextView showData;
    private final String FILE_NAME = "MyCreate.txt";
    File sdcard = Environment.getExternalStoragePublicDirectory("txt");//定义主要外部存储目录。
    String file = Environment.getExternalStorageDirectory() + "/Pictures";
    File myfile = new File(sdcard, FILE_NAME);
    File testFile = new File(file);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        writeEdit = (EditText) findViewById(R.id.write_edit);
        showData = (TextView) findViewById(R.id.show_text);

        /*写入数据到SDCard文件*/
        findViewById(R.id.write_btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!sdcard.exists()) {
                    Toast.makeText(MainActivity.this, "该设备SDCard不存在", Toast.LENGTH_SHORT).show(); //判断设备是否存在sdcard
                    return;
                }
                if (!myfile.exists()) {  /*文件不存在则穿件文件*/
                    try {
                        myfile.createNewFile();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                /*文件写入操作*/
                try {
                    FileOutputStream fos = new FileOutputStream(myfile);
                    OutputStreamWriter opw = new OutputStreamWriter(fos);
                    opw.write(writeEdit.getText().toString());
                    opw.flush();
                    opw.close();
                    fos.close();
                    Toast.makeText(MainActivity.this, "数据写入成功", Toast.LENGTH_SHORT).show();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        });

        /*读取SDCard中的文件数据*/
        findViewById(R.id.read_btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!sdcard.exists()) {
                    Toast.makeText(MainActivity.this, "该设备SDCard不存在", Toast.LENGTH_SHORT).show(); //判断设备是否存在sdcard
                    return;
                }
                if (!myfile.exists()) {
                    try {
                        myfile.createNewFile();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                try {
                    FileInputStream fis = new FileInputStream(myfile);
                    InputStreamReader isr = new InputStreamReader(fis);
                    BufferedReader br = new BufferedReader(isr);
                    StringBuilder strBuilder = new StringBuilder();
                    String line = "";
                    while ((line = br.readLine()) != null) {
                        strBuilder.append(line);
                    }
                    br.close();
                    isr.close();
                    fis.close();
                    Toast.makeText(MainActivity.this, "数据读取成功", Toast.LENGTH_SHORT).show();
                    showData.setText(strBuilder);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        });

        findViewById(R.id.text_btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (testFile.exists()) {
                    Toast.makeText(MainActivity.this, "Pictures文件存在", Toast.LENGTH_SHORT).show();
                    try {
                        new File(testFile + "/testNew.txt").createNewFile();/*调用File的构造方法在Pictures目录下创建一个文件*/
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                } else {
                    Toast.makeText(MainActivity.this, "Pictures文件不存在", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

 

posted @ 2015-12-04 15:40  weidingqiang  阅读(153)  评论(0)    收藏  举报