string dir = environment.getexternalstoragedirectory().getabsolutepath() + "/tencent/micromsg/weixin/"
注意:environment.getexternalstoragedirectory()返回的路徑中最後乙個字元不是/,如果需要建立子目錄,需要在子目錄的前後都加上/。
獲取外部儲存許可權:
確定檔名:
1、隨機命名
這種命名規則是隨機生成乙個字串或一組數字來對命名。
字串可以通過uuid來生成,數字可以通過random()類來生成,例如:
//通過uuid生成字串檔名
string filename1 =uuid.randomuuid().tostring();
//通過random()類生成陣列命名
random random=new random();
string filename2=string.valueof(random.nextint(integer.max_value));
2、時間命名
calendar now=new gregoriancalendar();
******dateformat ******date=new******dateformat("yyyymmddhhmmss",locale.getdefault());
string filename=******date.format(now.gettime());
獲取儲存路徑:
a.獲取sd卡相關路徑的方法
1、environment.getexternalstoragedirectory().getabsolutepath()
// /storage/emulated/0
2、environment.getexternalstoragepublicdirectory(environment.directory_dcim).getabsolutepath())
// /storage/emulated/0/dcim
4.getexternalfilesdir(environment.directory_pictures).getabsolutepath:(getexternalfilesdir(environment.directory_dcim).getabsolutepath)
// /storage/emulated/0/android/data/packagename/files/pictures
//這個路徑是在上面講到cache目錄的同級目錄下建立乙個files目錄,並在其中闖將存放的pictures目錄。getexternalfilesdir方法中可以傳多種引數,例如還可以傳environment.directory_dcim這個引數一遍在files目錄下建立dcim這個目錄。
注意:3.4是會隨著應用的刪除而刪除
總結:獲取sd卡目錄的方法有兩套
一套是通過environment類獲取packagename無關的路徑(也就是上面的1/2)
一套是通過context類獲取packagename相關的路徑(也就是上面的3/4),packagename路徑下可以有cache和files兩個目錄
b.獲取記憶體卡相關路徑方法
和獲取sd卡路徑不同,獲取記憶體卡路徑不能通過environment類來獲取,只能通過context來獲取
1、getcachedir().getabsolutepath()
/data/user/0/packagename/cache
2、getfilesdir().getabsolutepath()
/data/user/0/com.yoryky.demo/files
一、讀寫sd card路徑中檔案
a、寫sd卡中的檔案方法
/*** 將內容寫入sd卡中
* @param filename 要寫入的檔名
* @param content 待寫入的內容
* @throws ioexception
*/public static void writeexternal(context context, string filename, string content) throws ioexception
}b、讀sd卡中的檔案方法
/*** 從sd card檔案中讀取資料
* @param filename 待讀取的sd card
* @return
* @throws ioexception
*/public static string readexternal(context context, string filename) throws ioexception
//關閉輸入流
inputstream.close();
}return sb.tostring();
}二、讀寫記憶體卡中的檔案
a、寫記憶體卡中檔案方法
/*** 寫internal card檔案
* @param context
* @param filename
* @param content
* @throws ioexception
*/public static void writeinternal(context context, string filename, string content) throws ioexception
b、讀記憶體卡中檔案方法
/*** 讀記憶體卡中檔案方法
* @param context
* @param filename 檔名
* @return
* @throws ioexception
*/public static string readinternal(context context,string filename) throws ioexception
//關閉輸入流
inputstream.close();
return sb.tostring();
}
Android 外部儲存,內部儲存路徑
import android.content.context import android.os.environment import android.util.log public class directoryutils 獲取當前程式路徑 應用在記憶體上的目錄 data data com.exa...
Oracle中儲存過程
1 建立乙個儲存過程 create or replace procedure pro name parameter1 parameter2 is as begin plsql sentences pl sql語句,儲存過程功能實現的主體 exception dowith sentences 異常處理...
mysql中儲存過程
delimiter,簡單解釋下這個命令的用途,在mysql中每行命令都是用 結尾,回車後自動執行,在儲存過程中 往往不代表指令結束,馬上執行,而delimiter原本就是 的意思,因此用這個命令轉換一下 為 這樣只有收到 才認為指令結束可以執行 檢視myql中已經存在的儲存過程 show proce...