package com.bawei.view;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.os.Bundle;
import android.os.Environment;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.text.format.Formatter;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取SD卡挂载状态
String state = Environment.getExternalStorageState();
if((Environment.MEDIA_MOUNTED).equals(state)){//可读/写状态
System.out.println("已挂载,可读可写");
// System.out.println("SD卡根路径:"+Environment.getExternalStorageDirectory());
/**
* 参数一:文件路径
* 参数二:文件名
*
*/
File file=new File(Environment.getExternalStorageDirectory(), "1409A.txt");
try {
//通过输出流写出 参数二:如果文件不存在就创建一个,并刷新
FileOutputStream fos=new FileOutputStream(file, true);
//写入文件
fos.write("nihao".getBytes());
//刷新
fos.flush();
//关闭流
fos.close();
} catch (FileNotFoundException e) {
System.out.println("文件路径找不到");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//如果没有挂载
}else if((Environment.MEDIA_UNMOUNTED).equals(state)){
System.out.println("不可以进行文件读取");
}
}
//读取文件
public void datas(View v){
File file=new File(Environment.getExternalStorageDirectory(), "1409A.txt");
try {
FileInputStream fis=new FileInputStream(file);
byte [] b=new byte[1024];
//记录读了多少条数据
while(true){
int i=fis.read(b);
if(i!=-1){
System.out.println(new String(b,0,i));
}else{
break;
}
}
fis.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//获取存储空间的大小
@SuppressLint("NewApi")
public void size(View v){
//获取内部数据文件
File dataDirectory = Environment.getDataDirectory();
//获取外部数据文件
File externalStorageDirectory = Environment.getExternalStorageDirectory();
//得到此路径的分区的总大小 以字节为单位
long dataSpace = dataDirectory.getTotalSpace();//内部存储空间的大小
long totalSpace= externalStorageDirectory.getTotalSpace();//外部存储空间的大小
String size=Formatter.formatFileSize(MainActivity.this, dataSpace);
String size2=Formatter.formatFileSize(MainActivity.this, totalSpace);
Toast.makeText(MainActivity.this, "内部存储空间:"+size+" 外部存储空间:"+size2, Toast.LENGTH_SHORT).show();
}
}