真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android獲取路徑,安卓路徑獲取文件名

Android存儲及路徑

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

為西峽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及西峽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、網(wǎng)站設(shè)計、西峽網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

如何區(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中已過時:

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

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

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

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

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手機(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()這個結(jié)點(diǎn)。

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

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

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

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

android 幾個路徑的獲取

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ù)據(jù)

getApplicationContext().getExternalCacheDir()

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

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


新聞標(biāo)題:android獲取路徑,安卓路徑獲取文件名
當(dāng)前地址:http://weahome.cn/article/dsdhich.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部