• 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();
        }
  • 相关阅读:
    《JavaScript面向对象的编程指南》--读书笔记
    《高性能JavaScript》--读书笔记
    《高性能网站建设指南》--读书笔记
    vertical-align属性探究
    IP地址.md
    Visual Studio Code.md
    ComboBox
    2017 续办上海居住证和积分办理流程
    希腊字母、拉丁字母、Markdown、拼写与读音中英对照表
    Windows Server 2008 添加 IIS 服务
  • 原文地址:https://www.cnblogs.com/yshyee/p/3497608.html
Copyright © 2020-2023  润新知