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

 

posted @ 2013-12-30 13:33  yshy  阅读(2592)  评论(0编辑  收藏  举报