Android之常用文件路径

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;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值