Android之常用文件路径
16lz
2021-12-04
Android常用文件路径
一、系统路径
1.获取系统路径:
/* 取得system的路径为:/system */ //File rootFile = Environment.getRootDirectory(); //String rootPath = Environment.getRootDirectory().getAbsolutePath();
2.获取data路径:
/* 取得data的路径为:/data */ //File dataFile = Environment.getDataDirectory(); //String dataPath = Environment.getDataDirectory().getAbsolutePath();
3.获取应用程序安装路径:
/* 取得apk的路径为:/data/app/com.yangliu.testsqlite-1.apk */String packResPath=getApplicationContext().getPackageResourcePath();// getApplicationContext()即为mContext/* 取得apk的路径为:/data/app/com.yangliu.testsqlite-1.apk */String packCodePath=getApplicationContext().getPackageCodePath();
4.取得应用程序私有路径:
/* 取得cache的路径为:/data/data/com.yangliu.testsqlite/cache */File cacheFile = getApplicationContext().getCacheDir();// 等同如下String cachePath = getApplicationContext().getCacheDir().getAbsolutePath();/* 取得files的路径为:/data/data/com.yangliu.testsqlite/files */File filesFile = getApplicationContext().getFilesDir();String filesPath = getApplicationContext().getFilesDir().getAbsolutePath();/* 取得databases下指定数据库的路径为:/data/data/com.yangliu.testsqlite/databases/basechannel.db */File databaseFile = getApplicationContext().getDatabasePath("basechannel.db");String databasePath = getApplicationContext().getDatabasePath("basechannel.db").getAbsolutePath();
5.应用下files文件使用:
/* 返回/data/data/youPackageName/files的File对象 */File filesFile = getApplicationContext().getFilesDir();/* 得到files下文件的FileInputStream流和FileOutputStream流对象 */FileInputStream textFIS = getApplicationContext().openFileInput("text.txt");FileOutputStream textFOS = getApplicationContext().openFileOutput("text.txt");/* 得到files下所有的文件名,返回的是String[]对象 */String[] fileNames = getApplicationContext().fileList(); /* 删除files下指定名称的文件 */getApplicationContext().deleteFile("text.txt");
6.取得指定文件路径:
/* 得到/data/data/youPackageName/下的指定名称的文件夹File对象,如果该文件夹不存在则用指定名称创建一个新的文件夹 */ //getApplicationContext().getDir(String name, int mode);
二、代码路径
1.取得assets文件路径:
/* 取得assets的路径,指定绝对路径 */String assetsPath=String path = "file:///android_asset/文件名";
/* 取得assets的路径,以流的方式读取 */InputStream assetsIS = getClass().getResourceAsStream("/assets/文件名");String assetsPath= new String(InputStreamToByte(assetsIS));//private byte[] InputStreamToByte(InputStream is) throws IOException { ByteArrayOutputStream bytestream = new ByteArrayOutputStream(); int ch; while ((ch = is.read()) != -1) { bytestream.write(ch); } byte imgdata[] = bytestream.toByteArray(); bytestream.close(); return imgdata;}
更多相关文章
- Pycharm安装PyQt5的详细教程
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Android(安卓)HttpClient post MultipartEntity - Android(安卓)
- Android4.2.2自增物理按键(frameworks)
- Android根据图片Uri获取图片绝对路径
- 编译 Android版本的Openal方式
- Android介绍
- 修改Android开机画面