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

    }

 

你可能感兴趣的:(android)