Android 文件操作
来源:互联网 发布:淘宝上的催情药实测 编辑:程序博客网 时间:2024/06/16 12:27
1. 得到存储设备的目录:/SDCARD(一般情况下)
SDPATH=Environment.getExternalStorageDirectory()+"/";
2. 判断SD卡上的文件夹是否存在:通过File对象的exists()方法。
/**
* 判断文件是否已经存在;
*
/
public boolean checkFileExists(String filepath) {
File file=new File(SDPATH+filepath);
return file.exists();
}
3.在SD卡上创建目录:通过File对象的mkdir()方法实现。
/*
* 在SD卡上创建目录;
*/
public File createDIR(String dirpath) {
File dir=new File(SDPATH+dirpath);
dir.mkdir();
return dir;
}
4.在SD卡上创建文件:通过File对象的createNewFile()方法实现。
/*
* 在SD卡上创建文件;
*/
public File createFile(String filepath) throws IOException{
File file=new File(SDPATH+filepath);
file.createNewFile();
return file;
}
5.将InputStream字节流写入到SD卡文件中。
/**
* 将一个InputStream中的数据写入至SD卡中
*/
public File writeStreamToSDCard(String dirpath,String filename,InputStream input) {
File file = null;
OutputStream output=null;
try {
//创建目录;
createDIR(dirpath);
//在创建 的目录上创建文件;
file = createFile(dirpath+filename);
output=new FileOutputStream(file);
byte[]bt=new byte[4*1024];
while (input.read(bt)!=-1) {
output.write(bt);
}
//刷新缓存,
output.flush();
} catch (IOException e) {
e.printStackTrace();
}
finally{
try{
output.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
return file;
}
6. 访问的权限:
需在AndroidManifest中加上:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
判断SD卡是否插入
Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
获得sd卡根目录
File skRoot = Environment.getExternalStorageDirectory();
获得私有根目录
File fileRoot = Context.getFilesDir()+"";
确定或获得文件夹和文件路径
String path = File.getPath();//相对
String path = File.getAbsoultePath();//绝对
获得文件或文件夹的父目录
String parentPath = File.getParent()
获得文件或文件夹的名称:
String Name = File.getName();
建立文件或文件夹
File.createNewFile();//建立文件
判断是文件或文件夹
File.isDirectory()
列出文件夹下的所有文件和文件夹名
File[] files = File.listFiles();
修改文件夹和文件名
File.renameTo(dest);
删除文件夹或文件
File.delete();
文件读写操作模式
Context.MODE_PRIVATE:新内容覆盖原内容
Context.MODE_APPEND:新内容追加到原内容后
Context.MODE_WORLD_READABLE:允许其他应用程序读取
Context.MODE_WORLD_WRITEABLE:允许其他应用程序写入,会覆盖原数据。
/*** 保存文件
* @param fileName
* @param fileContent
* @throws Exception*/
public void save(String fileName, String fileContent) throws Exception {
// Activity的父类的父类就是context,context与其他框架中的context相同为我们以供了一些核心操作工具。
FileOutputStream fileOutputStream = this.context.openFileOutput(
fileName, Context.MODE_PRIVATE);
fileOutputStream.write(fileContent.getBytes());
}
/**
* 读取文件
*
* @param fileName
* @return
* @throws Exception
*/
public String read(String fileName) throws Exception {
FileInputStream fileInputStream = this.context.openFileInput(fileName);
ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fileInputStream.read(buffer)) > 0) {
byteArray.write(buffer, 0, len);
};
return byteArray.toString();
}
}
- android的文件操作
- Android: JAVA 文件操作
- android的文件操作
- android 文件操作
- android--ZIP文件操作
- Android 文件操作
- Android文件操作
- Android 文件操作总结
- android的文件操作
- android的文件操作
- android 文件操作FILE
- android 文件操作
- Android 文件操作
- android的文件操作
- android文件操作
- android 文件操作
- android的文件操作
- android的文件操作
- 黑马程序员_Java基础学习笔记
- 数据结构之 Shell排序
- 数据结构之(归并排序)
- 【Android病毒分析报告】 - 新病毒FakeUmg “假面友盟”
- Java 开始篇——新的开始,更多的努力
- Android 文件操作
- Oracle中将含数据的BLOB字段转化为含数据的varchar2字段
- android中设置activity切换时候的动画效果
- Oracle 11G 发行版安装64位系统
- 公开课可下载资源汇总
- Python中print和字符格式化的小结(Python2.7.5)
- ExtJS中组件居右显示方法
- Oracle数据库impdb和expdb操作
- 数据挖掘著名学者的网站