Android 文件讀寫

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;
	}
相關文章
相關標籤/搜索