成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

android獲取路徑,android默認(rèn)文件訪問路徑

如何獲取android項(xiàng)目下某個(gè)文件的絕對路徑

比如要獲取 要獲取libjnixcld.so絕對路徑

呈貢網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

File file=new File("/data/data/com.dtBank.app.service/lib/libjnixcld.so")

簡單的說就是/data/data/packagename/你的文件夾名稱/文件名

非隱藏文件可以這樣獲取

以上方法只能獲取動態(tài)共享庫的絕對路徑

對于像minde.dat,public.dat以及其他一些文件獲取路徑的方式如下:

一,將文件放入assets文件夾下面(放入此文件夾下面的文件可通過InputStream in=context.getAssets().open("public.dat"));

獲得其二進(jìn)制形式的流,具體例子如下

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","創(chuàng)建的文件夾:"+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();

}

}

}

// 調(diào)用此方法獲取文件在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 幾個(gè)路徑的獲取

String appPath = getApplicationContext().getPackageResourcePath();

/data/app/com.younghare.lepusService-2/base.apk

getApplicationContext().getFilesDir()

getApplicationContext().getFilesDir().getParent()

其實(shí)就是/data/data/包(這是沙盒其他app無法訪問)

String dataAppPath = getApplicationContext().getFilesDir().getParent();

new File(dataAppPath+"/databases/task.db").exists();//返回是true

抽象路徑名的絕對路徑名字符串

String appAbsolute = getApplicationContext().getFilesDir().getAbsolutePath()

/data/user/0/com.younghare.lepusService/files

獲取CachDir

getApplicationContext().getCacheDir()

通過Context.getExternalCacheDir()方法可以獲取到 SDCard/ android /data/你的應(yīng)用包名/cache/目錄,一般存放臨時(shí)緩存數(shù)據(jù)

getApplicationContext().getExternalCacheDir()

/storage/emulated/0/Android/data/com.younghare.lepusService/cache

getExternalFilesDir(null)參數(shù)傳入的為null,這樣默認(rèn)訪問的是files文件夾,我們可以指定子文件夾

Android存儲及路徑

分為:內(nèi)部存儲和外部存儲

如何區(qū)分內(nèi)部存儲和外部存儲:可以從物理和邏輯區(qū)分

從物理的角度區(qū)分,內(nèi)部存儲就是手機(jī)自帶存儲空間,外部存儲就是外部接入的存儲空間例如SD卡

從邏輯意義上區(qū)分,data,system 目錄就是手機(jī)的內(nèi)部存儲,而 mnt 或者 storage目錄下的sdcard0指向的sdcard目錄就是外部存儲。如果是手機(jī)自帶的外部存儲被稱為機(jī)身外部存儲,外置的SD卡則稱之為外部存儲。當(dāng)然兩者都稱為外部存儲也沒關(guān)系。這里描述的內(nèi)部存儲和機(jī)身外部存儲都屬于機(jī)身存儲;

邏輯區(qū)分是從4.4以上版本開始的;

獲取內(nèi)部存儲路徑和api對應(yīng)關(guān)系

1,通過Environment

2,通過上下文Context

Build.VERSION_CODES.LOLLIPOP及以上版本新增的API

Build.VERSION_CODES.N及以上版本新增的API

特點(diǎn):

1、內(nèi)部存儲路徑中的文件是分類存儲的,我們無法干涉,除了cache目錄,別的目錄系統(tǒng)不會自動創(chuàng)建

2、除了files目錄,別的目錄我們幾乎都是無法手動操作的

3、別的App幾乎無法訪問內(nèi)部存儲中的數(shù)據(jù),除了用非法手段或者我們主動暴露

4、內(nèi)部存儲目錄下的文件夾及文件會隨著app的卸載而被系統(tǒng)自動刪除

外部存儲又可分為共有目錄和私有目錄;

私有目錄

私有目錄:不需要訪問權(quán)限

Android 在外部存儲空間中也提供了特殊目錄供App存放私有文件,該路徑為:/storage/emulated/0/Android/data/包名/

注意:應(yīng)用安裝之后/storage/emulated/0/Android/data/是沒有對應(yīng)的應(yīng)用文件夾的,需要手動調(diào)用對應(yīng)的API創(chuàng)建;

獲取私有目錄路徑

共有目錄

共有目錄:需要申請權(quán)限才能訪問

權(quán)限:6.0以上需要動態(tài)申請

獲取共有目錄的API 29中已過時(shí):

獲取android手機(jī)的自帶存儲路徑和sdcard存儲路徑

android手機(jī)獲取自帶存儲來路徑和sd卡存儲路徑的方式是:調(diào)用Environment.getExternalStorageDirectory(),返回的存儲源目錄并不是系統(tǒng)內(nèi)置的SD卡目錄。

1.一部分手機(jī)將eMMC存儲掛載到

/mnt/external_sd

、/mnt/sdcard2

等節(jié)點(diǎn)知,而將外置的SD卡掛載到

Environment.getExternalStorageDirectory()這個(gè)結(jié)點(diǎn)。

此時(shí),調(diào)用Environment.getExternalStorageDirectory(),則返回外置的SD的路徑。

2.而另一部分手機(jī)直接道將eMMC存儲掛載在Environment.getExternalStorageDirectory()這個(gè)節(jié)點(diǎn),而將真正的外置SD卡掛載到/mnt/external_sd、/mnt/sdcard2

等節(jié)點(diǎn)。

此時(shí),調(diào)用Environment.getExternalStorageDirectory(),則返回內(nèi)置的SD的路徑。

android 怎么獲取手機(jī)文件路徑

用 /mnt 獲取全部掛載的存儲路徑。 mnt/sdcard和mnt/sdcard1一個(gè)是系統(tǒng)存儲路徑一個(gè)是SD卡存儲路徑。

網(wǎng)站名稱:android獲取路徑,android默認(rèn)文件訪問路徑
標(biāo)題網(wǎng)址:http://jinyejixie.com/article42/dschhhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、云服務(wù)器全網(wǎng)營銷推廣、網(wǎng)站維護(hù)品牌網(wǎng)站制作、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
正宁县| 宣威市| 昌吉市| 宣武区| 安国市| 黄山市| 丽江市| 塔城市| 罗田县| 张家界市| 图木舒克市| 陆良县| 德江县| 灯塔市| 淮安市| 昂仁县| 南通市| 松潘县| 杨浦区| 大方县| 乳源| 老河口市| 兴城市| 筠连县| 望谟县| 大埔区| 滦平县| 新昌县| 巴彦县| 铁岭县| 紫云| 北辰区| 霍邱县| 大庆市| 黑龙江省| 永春县| 德惠市| 平山县| 团风县| 晋城| 隆子县|