導航:首頁 > 操作系統 > android得到文件路徑

android得到文件路徑

發布時間:2022-05-20 18:18:43

① 如何獲取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();
}

}
}

② 獲取android手機的自帶存儲路徑和sdcard存儲路徑

android手機獲取自帶存儲路徑和sd卡存儲路徑的方式是:

調用Environment.getExternalStorageDirectory,返回的存儲目錄並不是系統內置的SD卡目錄。


1、手機將eMC存儲掛載到 /mnt/external_sd 、/mnt/sdcard2 等節點,而將外置的SD卡掛載到 Environment.getExternalStorgeDirectory這個結點。

(2)android得到文件路徑擴展閱讀:

Android在正式發行之前,最開始擁有兩個內部測試版本,並且以著名的機器人名稱來對其進行命名,它們分別是:阿童木(AndroidBeta),發條機器人(Android 1.0)。後來由於涉及到版權問題,谷歌將其命名規則變更為用甜點作為它們系統版本的代號的命名方法。

Android的系統架構和其操作系統一樣,採用了分層的架構。從架構圖看,Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和linux內核層。

③ android下怎麼獲取res資源文件夾的路徑

android無法獲取res資源文件夾路徑,只能通過系統提供的封裝函數訪問。
資源文件夾有:
/res/drawable
,通過getresources()訪問
/res/values
,通過getresources()訪問
/res/layout,通過getresources()訪問
/res/xml,通過getresources()訪問
/res/raw,通過getresources()訪問
/assets,通過getassets()訪問

④ android 如何代碼獲取系統文件夾的路徑,比如字體的文件路徑system/fonts

1.
// 從sd卡獲取圖片資源
private List<String> getImagePathFromSD() {

// 圖片列表
List<String> picList = new ArrayList<String>();

/

// 得到sd卡內路徑
String imagePath =
Environment.getExternalStorageDirectory().toString()
+ "/image";

// 得到該路徑文件夾下所有的文件
File mfile = new File(imagePath);
File[] files = mfile.listFiles();

// 將所有的文件存入ArrayList中,並過濾所有圖片格式的文件
for (int i = 0; i < files.length; i++) {
File file = files[i];
if (checkIsImageFile(file.getPath())) {
picList.add(file.getPath());
}

}

// 返回得到的圖片列表
return picList;

}

// 檢查擴展名,得到圖片格式的文件
private boolean checkIsImageFile(String fName) {
boolean isImageFile = false;

// 獲取擴展名
String FileEnd = fName.substring(fName.lastIndexOf(".") + 1,
fName.length()).toLowerCase();
if (FileEnd.equals("jpg") || FileEnd.equals("gif")
|| FileEnd.equals("png") || FileEnd.equals("jpeg")
|| FileEnd.equals("bmp")) {
isImageFile = true;
} else {
isImageFile = false;
}

return isImageFile;

}

⑤ 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

⑥ Android:怎麼獲取當前文件(類)所在的目錄的完整路徑

android的硬存儲是按照linux系統規則來劃分的,用於存儲客戶信息和客戶安裝的應用的是/data分區,你如果使用的是c程序的話,應該是在/data/app之類的下面,我手頭沒有板子沒法給你查。文件夾是google約定俗成的,不同廠家應該都是一樣的路徑。如果是廠家定製的應用則是在/system分區下,路徑應該是/system/app下。

如果你是一個android系統學習者,而不是應用開發者的話,我建議看看以下system/etc/initrc對於你會有很大的幫助。

⑦ android中怎麼獲取指定目錄下的文件夾

參考如下代碼:
package com.Aina.Android;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Test_ListFile extends ListActivity {
/** Called when the activity is first created. */
private List<String> items = null;//存放名稱
private List<String> paths = null;//存放路徑
private String rootPath = "/";
private TextView tv;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) this.findViewById(R.id.TextView);
this.getFileDir(rootPath);//獲取rootPath目錄下的文件.
}

public void getFileDir(String filePath) {
try{
this.tv.setText("當前路徑:"+filePath);// 設置當前所在路徑
items = new ArrayList<String>();
paths = new ArrayList<String>();
File f = new File(filePath);
File[] files = f.listFiles();// 列出所有文件
// 如果不是根目錄,則列出返回根目錄和上一目錄選項
if (!filePath.equals(rootPath)) {
items.add("返回根目錄");
paths.add(rootPath);
items.add("返回上一層目錄");
paths.add(f.getParent());
}
// 將所有文件存入list中
if(files != null){
int count = files.length;// 文件個數
for (int i = 0; i < count; i++) {
File file = files[i];
items.add(file.getName());
paths.add(file.getPath());
}
}

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, items);
this.setListAdapter(adapter);
}catch(Exception ex){
ex.printStackTrace();
}

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
String path = paths.get(position);
File file = new File(path);
//如果是文件夾就繼續分解
if(file.isDirectory()){
this.getFileDir(path);
}else{
new AlertDialog.Builder(this).setTitle("提示").setMessage(file.getName()+" 是一個文件!").setPositiveButton("OK", new DialogInterface.OnClickListener(){

public void onClick(DialogInterface dialog, int which) {

}

}).show();
}
}

}

⑧ android系統中的app安裝後的各個文件路徑在哪裡

在系統中system/app文件夾中。

在android系統中安裝軟體時,系統會將其安裝在設定好的路徑當中,即system/app路徑。後來下載的APP可以卸載,但系統自帶的APP不能卸載,否則會引發系統的崩潰。

在安裝APP時,也可以直接將文件復制到手機里(手機內存、Storage Card都可以),在手機上執行該CAB文件即可安裝。

(8)android得到文件路徑擴展閱讀

android系統中的app不同格式安裝:

1、CAB格式,直接將文件到手機里,都可以在手機上執行該CAB文件即可安裝。

2、EXE格式,EXE格式的程序可分為手機上直接運行(即綠色軟體的形式)和連接電腦同步安裝2種形式。

3、免安裝軟體(綠色軟體),將文件直接拷貝到手機里(手機內存、Storage Card都可以)即可運行。這種軟體在網上下載時一般是RAR或ZIP格式壓縮包,只需先在電腦上解壓,將解壓出來的文件夾拷貝到手機里即可運行。

4、Cpl文件,將文件直接拷貝到手機windows目錄下,即可在設置中出現相應的選項。如SoftKeyAppleEx.cpl對應會出現軟體設置選項。

⑨ Android 在知道文件路徑以及文件名稱讀取SD卡上的圖片該怎麼做

不知道你是想讀取出來幹嘛,
但是讀取sd卡的圖片文件第一步要獲取圖片的絕對路徑,
Environment.getExternalStorageDirectory().toString()就是獲取sd卡的絕對路徑,由於android各個版本不同,返回的路徑也可能不相同,
String imgFilePath = Environment.getExternalStorageDirectory().toString()
+ 「/DCIM/device.png
得到圖片的絕對路徑以後,可以通過流讀取這個文件,如果你只是想顯示到界面的話,那可以使用BitmapFactory來構建一個Bitmap對象,這個對象是可以直接應用於imageView的

創建方法BitmapFactory.decodeFile("圖片路徑")

⑩ android 怎麼獲取手機文件路徑

用 /mnt 獲取全部掛載的存儲路徑。 mnt/sdcard和mnt/sdcard1一個是系統存儲路徑一個是SD卡存儲路徑。

閱讀全文

與android得到文件路徑相關的資料

熱點內容
蘋果手機怎麼會顯示多個App 瀏覽:237
不去互聯網程序員 瀏覽:550
電腦qq郵箱解壓的圖片保存在哪裡 瀏覽:544
嵌入命令行 瀏覽:91
檔案為什麼被加密 瀏覽:486
十天學會單片機13 瀏覽:875
榮耀怎麼設置讓app一直運行 瀏覽:993
共享文件夾能在哪裡找到 瀏覽:435
旅遊訂旅店用什麼app 瀏覽:240
一個女程序員的聲音 瀏覽:496
魔術app怎麼用 瀏覽:340
單片機有4個8位的io口 瀏覽:897
win10rar解壓縮軟體 瀏覽:169
plc教程pdf 瀏覽:668
pythonshell清屏命令 瀏覽:281
檢測到加密狗注冊伺服器失敗 瀏覽:205
解壓後手機如何安裝 瀏覽:521
極客學院app為什麼下架 瀏覽:14
圖片批量壓縮綠色版 瀏覽:656
東北程序員帥哥 瀏覽:709