android怎样拿到file的路径

android怎样拿到file的路径,第1张

Environment 常用方法

方法:getDataDirectory()

解释:返回 File ,获取 Android

数据目录

方法:getDownloadCacheDirectory()

解释:返回 File ,获取 Android

下载/缓存内容目录。

方法:getExternalStorageDirectory()

解释:返回 File ,获取外部存储目录即

SDCard

方法:getExternalStoragePublicDirectory(String type)

解释:返回 File

,取一个高端的公用的外部存储器目录来摆放某些类型的文件

方法:getExternalStorageState()

解释:返回 File

,获取外部存储设备的当前状态

方法:getRootDirectory()

解释:返回 File ,获取 Android 的根目录

file的getPath getAbsolutePath和getCanonicalPath的不同

File的这三个方法在api中都有说明,仅以程序为例说明。

package test;

import

javaioFile;

import javaioIOException;

public class TestFilePath

{

public static void main(String[] args) {

// TODO Auto-generated

methodstub

Systemoutprintln(SystemgetProperty("userdir"));

try

{

Systemoutprintln("-----默认相对路径:取得路径不同------");

File file1 =new

File("\\src\\test1txt");

Systemoutprintln(file1getPath());

Systemoutprintln(file1getAbsolutePath());

Systemoutprintln(file1getCanonicalPath());

Systemoutprintln("-----默认相对路径:取得路径不同------");

File

file =new

File("\\test1txt");

Systemoutprintln(filegetPath());

Systemoutprintln(filegetAbsolutePath());

Systemoutprintln(filegetCanonicalPath());

Systemoutprintln("-----默认绝对路径:取得路径相同------");

File

file2 =new

File("D:\\workspace\\test\\test1txt");

Systemoutprintln(file2getPath());

Systemoutprintln(file2getAbsolutePath());

Systemoutprintln(file2getCanonicalPath());

}

catch (IOException e) {

// TODOAuto-generated catch

block

eprintStackTrace();

}

}

}

程序执行结果如下:

F:\eclipseworkspace\testejb

-----默认相对路径:取得路径不同------

\src\test1txt

F:\eclipseworkspace\testejb\\src\test1txt

F:\eclipseworkspace\src\test1txt

-----默认相对路径:取得路径不同------

\test1txt

F:\eclipseworkspace\testejb\\test1txt

F:\eclipseworkspace\testejb\test1txt

-----默认绝对路径:取得路径相同------

D:\workspace\test\test1txt

D:\workspace\test\test1txt

D:\workspace\test\test1txt

结论:

当输入为绝对路径时,返回的都是绝对路径。

当输入为相对路径时:

getPath()返回的是File构造方法里的路径,是什么就是什么,不增不减

getAbsolutePath()返回的其实是userdir+getPath()的内容,从上面F:\eclipseworkspace\testejb、F:\eclipseworkspace\testejb\\src\test1txt、F:\eclipseworkspace\testejb\\test1txt可以得出。

getCanonicalPath()返回的就是标准的将符号完全解析的路径

public String

getAbsolutePath()返回抽象路径名的绝对路径名字符串。

如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath()

方法一样。如果此抽象路径名是空的抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性 userdir

指定。否则,使用与系统有关的方式分析此路径名。在 UNIX 系统上,通过根据当前用户目录分析某一相对路径名,可使该路径名成为绝对路径名。在 Microsoft

Windows

系统上,通过由路径名指定的当前驱动器目录(如果有)来分析某一相对路径名,可使该路径名成为绝对路径名;否则,可以根据当前用户目录来分析它。

返回:

绝对路径名字符串,它与此抽象路径名表示相同的文件或目录的

抛出:

SecurityException

- 如果无法访问所需的系统属性值。

另请参见:

isAbsolute()

public String getCanonicalPath()

throws

IOException返回抽象路径名的规范路径名字符串。

规范路径名是绝对路径名,并且是惟一的。规范路径名的准确定义与系统有关。如有必要,此方法首先将路径名转换成绝对路径名,这与调用

getAbsolutePath() 方法的效果一样,然后用与系统相关的方式将它映射到其惟一路径名。这通常涉及到从路径名中移除多余的名称(比如 "" 和

"")、分析符号连接(对于 UNIX 平台),以及将驱动器名转换成标准大小写形式(对于 Microsoft Windows

平台)。

表示现有文件或目录的每个路径名都有一个惟一的规范形式。表示非存在文件或目录的每个路径名也有一个惟一的规范形式。非存在文件或目录路径名的规范形式可能不同于创建文件或目录之后同一路径名的规范形式。同样,现有文件或目录路径名的规范形式可能不同于删除文件或目录之后同一路径名的规范形式。

返回:

表示与此抽象路径名相同的文件或目录的规范路径名字符串

抛出:

IOException

- 如果发生 I/O 错误(可能是因为构造规范路径名需要进行文件系统查询)

SecurityException -

如果无法访问所需的系统属性值,或者存在安全管理器,且其 SecurityManagercheckRead(javaioFileDescriptor)

方法拒绝对该文件进行读取访问

从以下版本开始:

JDK11

Android应用安装涉及到如下几个目录:system/app系统自带的应用程序,无法删除。

data/app用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录。

data/data存放应用程序的数据。

data/dalvik-cache将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)。

Android(安卓),是一个以Linux为基础的开源移动设备 *** 作系统,主要用于智能手机和平板电脑,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中。Android已发布的最新版本为Android 81。

Android系统最初由安迪·鲁宾(Andy Rubin)等人开发制作 ,最初开发这个系统的目的是创建一个数码相机的先进 *** 作系统;但是后来发现市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的 *** 作系统。于2005年8月被美国科技企业Google收购。2007年11月,Google与84家制造商、开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开放原始码许可证的授权方式,发布了Android的原码,让生产商推出搭载Android的智能手机,Android后来更逐渐拓展到平板电脑及其他领域上。

2010年末数据显示,仅正式推出两年的Android作业系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智能手机 *** 作系统。

只有模拟器才可以看,手机不能看。

android studio 查看 /data/data/ 目录资源方法:

打开虚拟手机

2运行测试程序:

主要目的是为了查看gilde 每个规定都重新保存一份的效果。

main 两个imageView ,和同一个url 两个不同规格的imageview。

运行效果:

重点:

进入重点:先进入sdk/tools这个目录   点击  ddmsbat   会出现这个界面

4点击 自己的项目,再次点击 上面的Device->File-explorer

我的缓存目录在这个路径下

/data/data/comexamplesun_taomyapplicatio

我直接导入桌面,第一次显示不是,然后更改后缀名称为(xxxjpg) 就能显示了。

以上就是关于android怎样拿到file的路径全部的内容,包括:android怎样拿到file的路径、android系统中的app安装后的各个文件路径在哪里、android studio怎么查看data/data/包名/files文件夹下的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10125382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存