导航:首页 > 文件目录 > android获取本地文件路径

android获取本地文件路径

发布时间:2022-09-17 20:22:20

1. android怎样拿到file的路径

Environment 常用方法:
* 方法:getDataDirectory()
解释:返回 File ,获取 Android
数据目录。
* 方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android
下载/缓存内容目录。
* 方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即
SDCard
* 方法:(String type)
解释:返回 File
,取一个高端的公用的外部存储器目录来摆放某些类型的文件
* 方法:getExternalStorageState()
解释:返回 File
,获取外部存储设备的当前状态
* 方法:getRootDirectory()

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

file的getPath getAbsolutePath和getCanonicalPath的不同

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

package test;

import
java.io.File;
import java.io.IOException;

public class TestFilePath
{

public static void main(String[] args) {
// TODO Auto-generated
methodstub

System.out.println(System.getProperty("user.dir"));

try
{
System.out.println("-----默认相对路径:取得路径不同------");
File file1 =new
File("..\\src\\test1.txt");
System.out.println(file1.getPath());
System.out.println(file1.getAbsolutePath());
System.out.println(file1.getCanonicalPath());
System.out.println("-----默认相对路径:取得路径不同------");
File
file =new
File(".\\test1.txt");
System.out.println(file.getPath());
System.out.println(file.getAbsolutePath());
System.out.println(file.getCanonicalPath());

System.out.println("-----默认绝对路径:取得路径相同------");
File
file2 =new
File("D:\\workspace\\test\\test1.txt");
System.out.println(file2.getPath());
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getCanonicalPath());
}
catch (IOException e) {
// TODOAuto-generated catch
block
e.printStackTrace();
}
}

}

程序执行结果如下:

F:\eclipseworkspace\testejb
-----默认相对路径:取得路径不同------
..\src\test1.txt
F:\eclipseworkspace\testejb\..\src\test1.txt
F:\eclipseworkspace\src\test1.txt
-----默认相对路径:取得路径不同------
.\test1.txt
F:\eclipseworkspace\testejb\.\test1.txt
F:\eclipseworkspace\testejb\test1.txt
-----默认绝对路径:取得路径相同------
D:\workspace\test\test1.txt
D:\workspace\test\test1.txt
D:\workspace\test\test1.txt
结论:

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

当输入为相对路径时:

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

getAbsolutePath()返回的其实是user.dir+getPath()的内容,从上面F:\eclipseworkspace\testejb、F:\eclipseworkspace\testejb\..\src\test1.txt、F:\eclipseworkspace\testejb\.\test1.txt可以得出。
getCanonicalPath()返回的就是标准的将符号完全解析的路径

public String
getAbsolutePath()返回抽象路径名的绝对路径名字符串。
如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath()
方法一样。如果此抽象路径名是空的抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性 user.dir
指定。否则,使用与系统有关的方式分析此路径名。在 UNIX 系统上,通过根据当前用户目录分析某一相对路径名,可使该路径名成为绝对路径名。在 Microsoft
Windows
系统上,通过由路径名指定的当前驱动器目录(如果有)来分析某一相对路径名,可使该路径名成为绝对路径名;否则,可以根据当前用户目录来分析它。

返回:
绝对路径名字符串,它与此抽象路径名表示相同的文件或目录的
抛出:
SecurityException
- 如果无法访问所需的系统属性值。
另请参见:
isAbsolute()

public String getCanonicalPath()
throws
IOException返回抽象路径名的规范路径名字符串。
规范路径名是绝对路径名,并且是惟一的。规范路径名的准确定义与系统有关。如有必要,此方法首先将路径名转换成绝对路径名,这与调用
getAbsolutePath() 方法的效果一样,然后用与系统相关的方式将它映射到其惟一路径名。这通常涉及到从路径名中移除多余的名称(比如 "." 和
"..")、分析符号连接(对于 UNIX 平台),以及将驱动器名转换成标准大小写形式(对于 Microsoft Windows
平台)。

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

返回:
表示与此抽象路径名相同的文件或目录的规范路径名字符串
抛出:
IOException
- 如果发生 I/O 错误(可能是因为构造规范路径名需要进行文件系统查询)
SecurityException -
如果无法访问所需的系统属性值,或者存在安全管理器,且其 SecurityManager.checkRead(java.io.FileDescriptor)
方法拒绝对该文件进行读取访问
从以下版本开始:
JDK1.1

2. android 使用URL获取本地的文件

public String getFromAssets(String fileName){
try {
InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );
BufferedReader bufReader = new BufferedReader(inputReader);
String line="";
String Result="";
while((line = bufReader.readLine()) != null)
Result += line;
return Result;
} catch (Exception e) {
e.printStackTrace();
}
}

3. android 我想读取一个txt文件,怎么获取路径

这就是个
文件关联而已。
和电脑上一个原理,你电脑上打开
txt文件,
电脑没有提示你选择
阅读器,那是因为电脑已经默认了

“记事本”来
打开
txt
文件。

4. 如何获取android项目下某个文件的绝对路径

比如要获取 要获取libjnixcld.so绝对路径
File file=new File("/data/data/com.dtBank.app.service/lib/libjnixcld.so")
简单的说就是/data/data/packagename/你的文件夹名称/文件名
非隐藏文件可以这样获取
以上方法只能获取动态共享库的绝对路径
对于像minde.dat,public.dat以及其他一些文件获取路径的方式如下:
一,将文件放入assets文件夹下面(放入此文件夹下面的文件可通过InputStream in=context.getAssets().open("public.dat"));
获得其二进制形式的流,具体例子如下
package com.dtBank.app.service;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import android.content.Context;
import android.os.Environment;
import android.util.Log;

/**
* 获得加密文件的路径
* @author hb
*
*/
public class getEncryptionFilePath {
class Obj{
InputStream in;
String fileDir;
String folder;
}
String lock="";
private void getCryptFilePath(Obj obj){
synchronized(lock){
try{
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
File cryptDir= new File(obj.folder);
Log.v("bb","创建的文件夹:"+obj.folder);
cryptDir.mkdirs();
OutputStream os= new FileOutputStream(obj.fileDir);
byte[] buf = new byte[1024*10];
int l;
Log.v("bb","开始写文件");
InputStream in=obj.in;
while ((l = in.read(buf)) != -1) {
os.write(buf, 0, l);
os.flush();
}
Log.v("bb","文件已写完");
os.close();
in.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
// 调用此方法获取文件在sdcard上面的绝对路径
public void execute(Context context){
InputStream in=null;
OutputStream out=null;
try{
in =(context.getAssets().open("mixed.dat"));
String fileDir_mixed="/sdcard/xcloudmixed/mixed.dat";
final Obj obj=new Obj();
obj.in=in;
obj.fileDir=fileDir_mixed;
obj.folder="/sdcard/xcloudmixed";

new Thread(){
@Override
public void run(){
getCryptFilePath(obj);
}
}.start();

in =(context.getAssets().open("public.dat"));
String fileDir_public="/sdcard/xcloudpublic/public.dat";
final Obj obj1=new Obj();
obj1.in=in;
obj1.fileDir=fileDir_public;
obj1.folder="/sdcard/xcloudpublic";

new Thread(){
@Override
public void run(){
getCryptFilePath(obj1);
}
}.start();
}catch(Exception e){
e.printStackTrace();
}

}
}

5. Android studio怎么找到当前文件在电脑路径位置

Android studio找到当前文件在电脑路径位置步骤如下:

  1. 选中需要查找路径的文件,如图:

6. Android:怎么获取当前文件(类)所在的目录的完整路径

android的硬存储是按照linux系统规则来划分的,用于存储客户信息和客户安装的应用的回是答/data分区,你如果使用的是c程序的话,应该是在/data/app之类的下面,我手头没有板子没法给你查。文件夹是google约定俗成的,不同厂家应该都是一样的路径。如果是厂家定制的应用则是在/system分区下,路径应该是/system/app下。

如果你是一个android系统学习者,而不是应用开发者的话,我建议看看以下system/etc/initrc对于你会有很大的帮助。

7. android 我想读取一个txt文件,怎么获取路径

你的这个文件是不是存在手机的内存卡里面呢,如果是可以这样做
//首先获取到手机内存卡的根路径
String rootPath = Environment.getExternalStorageDirectory().getPath();
File file = new File(rootPath + "/a.txt"); //假设文件就在内存卡的根目录下

得到file对象之后就跟Java一样处理了

8. android 怎么获取手机文件路径

用 /mnt 获取全部挂载的存储路径。 mnt/sdcard和mnt/sdcard1一个是系统存储路径一个是SD卡存储路径。

9. android下怎么获取res资源文件夹的路径

android无法获取res资源文件夹路径,只能通过系统提供的封装函数访问。
资源文件夹有:
/res/drawable
,通过getresources()访问
/res/values
,通过getresources()访问
/res/layout,通过getresources()访问
/res/xml,通过getresources()访问
/res/raw,通过getresources()访问
/assets,通过getassets()访问

阅读全文

与android获取本地文件路径相关的资料

热点内容
葫芦侠在手机中的文件名 浏览:813
plc编程应该怎么收钱 浏览:584
c语言中源文件由什么组成 浏览:890
linuxhttpdphp配置文件 浏览:607
拆单数据要怎么保存 浏览:17
mac电脑怎样压缩文件到100m 浏览:645
powerpoint教程下载 浏览:360
美食杰安卓版 浏览:911
为什么工行app明细里查不到 浏览:293
jsp网站怎么发布 浏览:101
vbnet获取文件列表 浏览:883
fastcopy英文版教程 浏览:713
手动加载spring配置文件 浏览:77
www2h3com升级 浏览:17
仿打印文件夹 浏览:818
reactjs定时器 浏览:728
iphonese怎么信任文件 浏览:816
配置文件选型 浏览:14
网络审计的模式有哪些 浏览:560
魅族微信角标 浏览:616

友情链接