android 文件创建、读、写、删除总结

原创 2016年06月01日 18:30:52

接触Android 这么久发现对文件的读写还没有理解好,接下来就把常用的总结如下:

Android是有内置外置sd卡之说,此处的造作都是针对内置sd卡来说。

1、在内置sd卡路径下创建文件夹并在这个文件夹下建个txt文件

public File createSDFile(String fileName) {
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/Test");
// 在file下建fileName文件
File file2 = new File(file, fileName);
try {
if (!file.exists()) {
file.mkdir();// 创建文件夹
String path = file.getPath();
System.out.println("文件夹路径:" + path);
}
if (!file2.exists()) {
file2.createNewFile();// 创建文件
}
} catch (IOException e) {
e.printStackTrace();
}
return file;
}

2、在上面创建的文件写入内容

// sd写入文件

public void writeFileinSD(String message, String fileName) {
try {
FileWriter fileWriter = new FileWriter(Environment.getExternalStorageDirectory().getPath()

+ "/Test" + "//"+ fileName);
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/Test" + "//" + fileName);
fileWriter.write(message);
FileOutputStream fos = new FileOutputStream(file);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeShort(2);
dos.writeUTF("");
fileWriter.flush();
fileWriter.close();

} catch (IOException e) {
e.printStackTrace();
}
}

3、删除文件夹和下面文件

public void deleteFile(File file) {
if (file.isFile()) {
file.delete();
return ;
}
if (file.isDirectory()) {
File[] childFiles = file.listFiles();
//空文件夹直接删除
if (childFiles == null || childFiles.length == 0) {
file.delete();
return;
}
//非空循环删除
for (int i = 0; i < childFiles.length; i++) {
deleteFile(childFiles[i]);
}
file.delete();
}
}

4、删除文件夹下指定文件

public boolean deleteSDFile(String fileName) {
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/Test" + "//" + fileName);
if (file == null || !file.exists() || file.isDirectory()) {
return false;
}
return file.delete();
}


5、私有文件夹下的文件存(/data/data/包名/files)

public void writeFileData(String fileName, String message) {
try {
FileOutputStream fout = mContext.openFileOutput(fileName,
mContext.MODE_PRIVATE);
byte[] bytes = message.getBytes();
fout.write(bytes);
fout.close();
} catch (Exception e) {
e.printStackTrace();
}
}

6、私有文件夹下的文件读(/data/data/包名/files)

public String readFileData(String fileName) {
String res = "";
try {
FileInputStream fin = mContext.openFileInput(fileName);
int length = fin.available();
byte[] buffer = new byte[length];
fin.read(buffer);
res = EncodingUtils.getString(buffer, "UTF-8");
fin.close();
} catch (Exception e) {
e.printStackTrace();
}
return res;
}

7、从assets读取文件
public String readFromAssets(String fileName) {
String result = "";
try {
InputStream is = mContext.getResources().getAssets().open(fileName);
int length = is.available();// 实际可读字节数总大小
byte[] buffer = new byte[length];
is.read(buffer);
result = EncodingUtils.getString(buffer, "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
return result;
}


8、从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)

public String readFromRaw(int fileInRaw) {
String res = "";
try {
InputStream in = mContext.getResources().openRawResource(fileInRaw);
int length = in.available();
byte[] buffer = new byte[length];
in.read(buffer);
res = EncodingUtils.getString(buffer, "GBK");
// res = new String(buffer,"GBK");
in.close();
} catch (Exception e) {
e.printStackTrace();
}
return res;
}

读paper总结

我看论文后的总结路线是: 1、【论文一句话总结】 2、【论文要解决的问题】 3、【论文使用的数据】 4、【论文使用的方法】 5、【论文的实验结果】 读paper 1. 看abstract...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2016年09月12日 10:25
  • 777

文件的创建删除读写操作

创建文件夹:默认建在data/data/包名/files下(DDMS) data打不开的原因: 1.android sdk没有配置环境变量-打开sdk的位置-platform tools-添加到p...
  • rururu2211785113
  • rururu2211785113
  • 2016年11月28日 18:01
  • 250

程序员的学习总结

数据结构+算法 网络编程 分布式框架
  • very_loong
  • very_loong
  • 2017年09月16日 10:44
  • 249

文件创建/删除

1:需求:递归删除带内容的目录 假设删除当前项目下的目录:demo,demo中可以有文件夹自己给出package weekends_9;import java.io.File;public class...
  • TU_BO
  • TU_BO
  • 2017年11月21日 12:57
  • 132

Android 为应用创建、删除桌面快捷方式

为应用创建快捷方式目前有两种方法: 1. 程序启动时主动添加快捷方式到桌面; 2....
  • JJMM2009
  • JJMM2009
  • 2014年07月17日 11:21
  • 16440

如何获取到文件的创建时间,修改时间等参数

百度一下,发现有 #include  #include  #include  #include    void main( void ) {     struct stat buf;     in...
  • lqxandroid2012
  • lqxandroid2012
  • 2016年04月26日 20:27
  • 4413

创建文件(读和写,删除)

----------------------------------tmp.htm-------------------------------{title}我的内容:{content}   ----...
  • WYHuan1030
  • WYHuan1030
  • 2010年06月15日 14:07
  • 736

C#读、写、删除注册表

1.首先,必须导入空间"Microsoft.Win32" using Microsoft.Win32;    2.利用Registry类,确定注册表的分支(ClassesRoot,CurrentUs...
  • leotian
  • leotian
  • 2014年03月22日 23:34
  • 524

三层架构的 写 读 删除

using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syste...
  • qhx556
  • qhx556
  • 2013年04月10日 21:06
  • 431

JS读、写、删除Cookie

//写Cookie function setCookie(name, value){ var Days = 30; var exp = new Date(); exp.setTime(e...
  • seven_tao
  • seven_tao
  • 2013年11月01日 17:26
  • 400
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 文件创建、读、写、删除总结
举报原因:
原因补充:

(最多只允许输入30个字)