sd卡下存储

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();
    	
    }
    
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值