Ⅰ C#獲取程序所在路徑的幾種方法
stringstr1=Process.GetCurrentProcess().MainMole.FileName;//可獲得當前執行的exe的文件名。x0dx0astringstr2=Environment.CurrentDirectory;//獲取和設置當前目錄(即該進程從中啟動的目x0dx0a錄)的完全限定路徑。x0dx0a//備注按照定義,如果該進程在本地或網路驅動器的根目錄中啟動,則此屬性的值為驅x0dx0a動器名稱後跟一個尾部反斜杠(如"C:\")。如果該進程在子目錄中啟動,則此屬性的值為不x0dx0a帶尾部反斜杠的驅動器和子目錄路徑(如"C:\mySubDirectory")。x0dx0astringstr3=Directory.GetCurrentDirectory();//獲取應用程序的當前工作目錄。x0dx0astringstr4=AppDomain.CurrentDomain.BaseDirectory;//獲取基目錄,它由程序集沖突解決x0dx0a程序用來探測程序集。x0dx0astringstr5=Application.StartupPath;//獲取啟動了應用程序的可執行文件的路徑,不包括可x0dx0a執行文件的名稱。x0dx0astringstr6=Application.ExecutablePath;//獲取啟動了應用程序的可執行文件的路徑,包括可x0dx0a執行文件的名稱。x0dx0astringstr7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//獲取或設置包含x0dx0a該應用程序的目錄的名稱。x0dx0a1.System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName獲取模塊的完整路徑。x0dx0a2.System.Environment.CurrentDirectory獲取和設置當前目錄(該進程從中啟動的目錄)的x0dx0a完全限定目錄。x0dx0a3.System.IO.Directory.GetCurrentDirectory()獲取應用程序的當前工作目錄。這個不一定x0dx0a是程序從中啟動的目錄啊,有可能程序放在C:\www里,這個函數有可能返回C:\Documentsx0dx0a4.System.AppDomain.CurrentDomain.BaseDirectory獲取程序的基目錄。x0dx0a5.System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase獲取和設置包括x0dx0a該應用程序的目錄的名稱。x0dx0a6.System.Windows.Forms.Application.StartupPath獲取啟動了應用程序的可執行文件的x0dx0a路徑。效果和2、5一樣。只是5返回的字元串後面多了一個"\"而已x0dx0a7.System.Windows.Forms.Application.ExecutablePath獲取啟動了應用程序的可執行文件的路徑及文件名,效果和1一樣
Ⅱ 如何快速查到電腦里所有應用程序的安裝路徑
1、找到應用程序的快捷方式,並用滑鼠選中該快捷方拆世式。旅源肢
Ⅲ android怎麼獲取應用的目錄
一、方法介紹:
每個Android應用程序都可以通過Context來獲取與應用程序相關的目錄,這些目錄的功能各異,每一個目錄都有自己的特點,有時候可能會搞混淆,本文結合android源碼注釋和實際操作,詳細介紹一下每個方法:
方法:getFilesDir
釋義:返回通過Context.openFileOutput()創建和存儲的文件系統的絕對路徑,應用程序文件,這些文件會在程序被卸載的時候全部刪掉。
方法:getCacheDir
釋義:返回應用程序指定的緩存目錄,這些文件在設備內存不足時會優先被刪除掉,所以存放在這里的文件是沒有任何保障的,可能會隨時丟掉。
方法:getDir
釋義:這是一個可以存放你自己應用程序自定義的文件,你可以通過該方法返回的File實例來創建或者訪問這個目錄,注意該目錄下的文件只有你自己的程序可以訪問。
方法:getExternalCacheDir
釋義:使用這個方法需要寫外部存儲的許可權「<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />」,調用該方法會返回應用程序的外部文件系統(Environment.getExternalStorageDirectory())目錄的絕對路徑,它是用來存放應用的緩存文件,它和getCacheDir目錄一樣,目錄下的文件都會在程序被卸載的時候被清除掉。
方法:getExternalFilesDir
釋義:使用這個方法需要寫外部存儲的許可權「<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />」,這個目錄是與應用程序相關的外部文件系統,它和getExternalCacheDir不一樣的是只要應用程序存在它就會一直存在,這些文件只屬於你的應用,不能被其它人訪問。同樣,這個目錄下的文件在程序被卸載時也會被一同刪除。
方法:getExternalFilesDir
釋義:和上面的方法一樣,只是返回的是其目錄下某一類型的文件,這些類型可以是: Environment#DIRECTORY_MUSIC 音樂 Environment#DIRECTORY_PODCASTS 音頻 Environment#DIRECTORY_RINGTONES 鈴聲 Environment#DIRECTORY_ALARMS 鬧鈴 Environment#DIRECTORY_NOTIFICATIONS 通知鈴聲 Environment#DIRECTORY_PICTURES 圖片 Environment#DIRECTORY_MOVIES 視頻
方法:getDatabasePath
釋義:保存通過Context.openOrCreateDatabase 創建的資料庫文件
方法:getPackageCodePath
釋義:返回android 安裝包的完整路徑,這個包是一個zip的壓縮文件,它包括應用程序的代碼和assets文件。
方法:getPackageResourcePath
釋義:返回android 安裝包的完整路徑,這個包是一個ZIP的要鎖文件,它包括應用程序的私有資源。
方法:getObbDir
釋義:返回應用程序的OBB文件目錄(如果有的話),注意如果該應用程序沒有任何OBB文件,這個目錄是不存在的。
二、測試程序:
測試代碼如下:
private StringBuilder getFilePath( ){
StringBuilder filePathBuilder = new StringBuilder( );
// 返回通過Context.openFileOutput()創建和存儲的文件系統的絕對路徑,應用程序文件,這些文件會在程序被卸載的時候全部刪掉。
filePathBuilder.append( "getFilesDir == " ).append( getFilesDir( ) ).append( "\n" );
// 返回應用程序指定的緩存目錄,這些文件在設備內存不足時會優先被刪除掉,所以存放在這里的文件是沒有任何保障的,可能會隨時丟掉。
filePathBuilder.append( "getCacheDir == " ).append( getCacheDir( ) ).append( "\n" );
// 這是一個可以存放你自己應用程序自定義的文件,你可以通過該方法返回的File實例來創建或者訪問這個目錄,注意該目錄下的文件只有你自己的程序可以訪問。
filePathBuilder.append( "getDir == " ).append( getDir("test.txt", Context.MODE_WORLD_WRITEABLE) ).append( "\n" );
/* 需要寫文件許可權 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> */
// 調用該方法會返回應用程序的外部文件系統(Environment.getExternalStorageDirectory())目錄的絕對路徑,它是用來存放應用的緩存文件,它和getCacheDir目錄一樣,目錄下的文件都會在程序被卸載的時候被清除掉。
filePathBuilder.append( "getExternalCacheDir == " ).append( getExternalCacheDir( ) ).append( "\n" );
// 這個目錄是與應用程序相關的外部文件系統,它和getExternalCacheDir不一樣的是只要應用程序存在它就會一直存在,這些文件只屬於你的應用,不能被其它人訪問。同樣,這個目錄下的文件在程序被卸載時也會被一同刪除。
filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( "/" ) ).append( "\n" );
/**
* 和上面的方法一樣,只是返回的是其目錄下某一類型的文件,這些類型可以是:
* Environment#DIRECTORY_MUSIC 音樂
* Environment#DIRECTORY_PODCASTS 音頻
* Environment#DIRECTORY_RINGTONES 鈴聲
* Environment#DIRECTORY_ALARMS 鬧鈴
* Environment#DIRECTORY_NOTIFICATIONS 通知鈴聲
* Environment#DIRECTORY_PICTURES 圖片
* Environment#DIRECTORY_MOVIES 視頻
*
* */
filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( Environment.DIRECTORY_PICTURES ) ).append( "\n" );
// 保存通過Context.openOrCreateDatabase 創建的資料庫文件
filePathBuilder.append( "getDatabasePath == " ).append( getDatabasePath( DATA_BASE_NAME ) ).append( "\n" );
// 返回android 安裝包的完整路徑,這個包是一個zip的壓縮文件,它包括應用程序的代碼和assets文件
filePathBuilder.append( "getPackageCodePath == " ).append( getPackageCodePath( ) ).append( "\n" );
// 返回android 安裝包的完整路徑,這個包是一個ZIP的要鎖文件,它包括應用程序的私有資源。
filePathBuilder.append( "getPackageResourcePath == " ).append( getPackageResourcePath( ) ).append( "\n" );
// 返回應用程序的OBB文件目錄(如果有的話),注意如果該應用程序沒有任何OBB文件,這個目錄是不存在的。
filePathBuilder.append( "getObbDir == " ).append( getObbDir( ) ).append( "\n" );
return filePathBuilder;
}