Android 文件操做經常使用方法:java
一.在AndroidManifest.xml中添加文件操做的權限:android
<!--往sdcard中寫入數據的權限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--在sdcard中建立/刪除文件的權限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
建立文件:app
方法1:(不建議用)spa
String path = "/sdcard/fileName"; File file = new File(path);
方法2:(推薦)code
// File.separator 至關於"/" String path = Environment.getExternalStorageDirectory().getPath() + File.separator + "test.txt"; File fileNam = new File(path);
建立一個臨時文件: xml
/** * 若是讓咱們本身建立臨時文件時,咱們還得拼接文件名,Android爲咱們提供了更快捷的方式 * prefix表明:文件名前綴,suffix表明:生成臨時文件的格式如:.txt .amr .jpg .png等等 */ try { //此處未指定路徑,它會默認建立在SD卡根目錄下 File tempFile = File.createTempFile("前綴", "格式"); //記得加入try語句塊中 //若是想要指定路徑,則能夠這樣寫 File tempFile2 = File.createTempFile("前綴", "格式",new File("指定臨時文件路徑")); } catch (IOException e) { e.printStackTrace(); }
isDirectory() 與 isFile()的小區別:是不是文件夾,isFile是不是文件get
File file2 = new File(path3); //由於路徑是本身指定的, if(!file2.exists()){ //方式一: try { //這個方法指在指定路徑下建立一個empty文件 file2.createNewFile(); } catch (IOException e) { e.printStackTrace(); } //方式二: //建立一個指定目錄下的文件,但這個方法不能建立多個目錄 file2.mkdir(); //方式三: //建立一個指定目錄下的文件,與上面不一樣的是,此方法能夠建立多個目錄哦,經常使用的建立文件的方法 file2.mkdirs(); }
讀取系統中的文件io
public boolean isHdmiConnected() { Runtime mRuntime = Runtime.getRuntime(); try { // Process中封裝了返回的結果和執行錯誤的結果 Process mProcess = mRuntime.exec("cat /proc/driver/rtc"); BufferedReader mReader = new BufferedReader(new InputStreamReader(mProcess.getInputStream())); StringBuffer mRespBuff = new StringBuffer(); char[] buff = new char[1024]; int ch = 0; // while ((ch = mReader.read(buff)) != -1) { // mRespBuff.append(buff, 0, ch); // } ch = mReader.read(buff, 0, 12); mRespBuff.append(buff, 0, ch); mReader.close(); if (buff[11] == '0') { Plog.d(TAG, "HdmiConnectted"); return true; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; }