導航:首頁 > 文件目錄 > 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獲取本地文件路徑相關的資料

熱點內容
linux怎麼裝系統 瀏覽:811
接觸到哪些信息是由資料庫管理 瀏覽:25
港版s7edge和亞太版本 瀏覽:284
無限循環數控編程序怎麼編程 瀏覽:979
iphone6splus16g 瀏覽:225
oppo如何開4g網路 瀏覽:267
java不安全 瀏覽:423
導入配置文件數據失敗 瀏覽:941
linux運行class 瀏覽:227
如何做好群管理員文件 瀏覽:979
linuxvim循環搜索文件 瀏覽:147
為什麼講女孩子更應該學習編程 瀏覽:742
雲數據備份不了了是怎麼回事 瀏覽:110
數據說話的股票有哪些股 瀏覽:612
一加照片保存在哪個文件夾 瀏覽:710
聯通省公司大數據 瀏覽:300
三星wifi管理員密碼 瀏覽:213
怎樣查看優盤正在被哪個文件使用 瀏覽:9
微信里傳的文件為什麼會過期 瀏覽:248
遇到不正規的網路平台怎麼辦 瀏覽:979

友情鏈接