Android 操作手机内置存储卡中的文件

场景:需要读取指定文件的内容,此文件是手动存储到手机内置存储卡中的,且手机上不存在SD卡。

 

对于android通过activity提供的openFileOutput和openFileInput可以直接操作内置存储卡,但是保存到路径是用户看不到的:

创建的文件保存在/data/data/<package name>/files目录。

 

Environment.getExternalStorageDirectory()
这个方法是:当只有内置存储空间的时候,只能获取到内置存储空间的路径。
当内置存储空间和sd卡同时存在时候,只能获取Sd卡的路径,所以可以采用此方法进行。

 

public static String readURLConfig(){
        String url = "#"; //默认的URL
        try{
             filePath = Environment.getExternalStorageDirectory().toString()+"/wd/config.txt";
         }finally{
             if(existsFile(filePath)){
                try {
                    url = readFile(filePath);
                } catch (IOException e) {
                    //
                }
             }
         }
        return url;
    }
/*
     * 判断文件是否存在
     */
    public static boolean existsFile(String filePath){
        File file = new File(filePath);
        if(file.exists()){
            return true;
        }
        return false;
    }
    
    /*
     * 读取文件
     */
    public static String readFile(String filePath) throws IOException{
        InputStream is = new FileInputStream(filePath);
        int len = is.available();
        byte []buffer = new byte[len];
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        while((is.read(buffer)) != -1){
            baos.write(buffer);
        }
        byte []data = baos.toByteArray();
        baos.close();
        is.close();
        return new String(data).trim();
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值