Android 文件操作常用方法:
一.在AndroidManifest.xml中添加文件操作的权限:
<!--往sdcard中写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--在sdcard中创建/删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
创建文件:
方法1:(不建议用)
String path = "/sdcard/fileName";
File file = new File(path);
方法2:(推荐)
// File.separator 相当于"/"
String path = Environment.getExternalStorageDirectory().getPath() + File.separator + "test.txt";
File fileNam = new File(path);
创建一个临时文件:
/**
* 如果让我们自己创建临时文件时,我们还得拼接文件名,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是否是文件
File file2 = new File(path3); //因为路径是自己指定的,
if(!file2.exists()){
//方式一:
try {
//这个方法指在指定路径下创建一个empty文件
file2.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
//方式二:
//创建一个指定目录下的文件,但这个方法不能创建多个目录
file2.mkdir();
//方式三:
//创建一个指定目录下的文件,与上面不同的是,此方法可以创建多个目录哦,常用的创建文件的方法
file2.mkdirs();
}
读取系统中的文件
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;
}