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;
	}
相关文章
相关标签/搜索