zoukankan      html  css  js  c++  java
  • 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();
        }
  • 相关阅读:
    JS预编译
    伪元素、伪类和选择器之间的区别
    js中== 和 != 的转换规则
    js数据类型的转换
    数组习题
    document语句以及html()等方法
    第十一章 以太网交换机工作原理
    第一章 架构基础介绍
    Linux常规练习题(二)参考答案
    第三十四章 Linux常规练习题(一)参考答案
  • 原文地址:https://www.cnblogs.com/yshyee/p/3497608.html
Copyright © 2011-2022 走看看