android的文件、目录操作(五)
android的文件、目录操作(五)
2011-03-18 18:05:37| 分类: 工作学习 | 标签: |字号大中小 订阅
-
/* - * 将文件写入应用私有的files目录。如:writeFile("test.txt");
- */
- public Output wirteFile(String fileName) throws IOException {
- OutputStream os = context.openFileOutput(fileName,
- Context.MODE_WORLD_WRITEABLE);
- return new Output(os);
- }
- /*
- * 在原有文件上继续写文件。如:appendFile("test.txt");
- */
- public Output appendFile(String fileName) throws IOException {
- OutputStream os = context.openFileOutput(fileName, Context.MODE_APPEND);
- return new Output(os);
- }
- /*
- * 从应用的私有目录files读取文件。如:readFile("test.txt");
- */
- public Input readFile(String fileName) throws IOException {
- InputStream is = context.openFileInput(fileName);
- return new Input(is);
- }
- /**********************************************************************************************************/
- /*********************************************************************************************************/
- */
- /**
- * 删除一个文件
- *
- * @param file
- * @return
- */
- public boolean delFile(File file) {
- if (file.isDirectory())
- return false;
- return file.delete();
- }
- /**
- * 删除一个目录(可以是非空目录)
- *
- * @param dir
- */
- public boolean delDir(File dir) {
- if (dir == null || !dir.exists() || dir.isFile()) {
- return false;
- }
- for (File file : dir.listFiles()) {
- if (file.isFile()) {
- file.delete();
- } else if (file.isDirectory()) {
- delDir(file);// 递归
- }
- }
- dir.delete();
- return true;
- }
- /**
- * 拷贝一个文件,srcFile源文件,destFile目标文件
- *
- * @param path
- * @throws IOException
- */
- public boolean copyFileTo(File srcFile, File destFile) throws IOException {
- if (srcFile.isDirectory() || destFile.isDirectory())
- return false;// 判断是否是文件
- FileInputStream fis = new FileInputStream(srcFile);
- FileOutputStream fos = new FileOutputStream(destFile);
- int readLen = 0;
- byte[] buf = new byte[1024];
- while ((readLen = fis.read(buf)) != -1) {
- fos.write(buf, 0, readLen);
- }
- fos.flush();
- fos.close();
- fis.close();
- return true;
- }
- /**
- * 拷贝目录下的所有文件到指定目录
- *
- * @param srcDir
- * @param destDir
- * @return
- * @throws IOException
- */
- public boolean copyFilesTo(File srcDir, File destDir) throws IOException {
- if (!srcDir.isDirectory() || !destDir.isDirectory())
- return false;// 判断是否是目录
- if (!destDir.exists())
- return false;// 判断目标目录是否存在
- File[] srcFiles = srcDir.listFiles();
- for (int i = 0; i < srcFiles.length; i++) {
- if (srcFiles[i].isFile()) {
- // 获得目标文件
- File destFile = new File(destDir.getPath() + "\\"
- + srcFiles[i].getName());
- copyFileTo(srcFiles[i], destFile);
- } else if (srcFiles[i].isDirectory()) {
- File theDestDir = new File(destDir.getPath() + "\\"
- + srcFiles[i].getName());
- copyFilesTo(srcFiles[i], theDestDir);
- }
- }
- return true;
- }
- /**
- * 移动一个文件
- *
- * @param srcFile
- * @param destFile
- * @return
- * @throws IOException
- */
- public boolean moveFileTo(File srcFile, File destFile) throws IOException {
- boolean iscopy = copyFileTo(srcFile, destFile);
- if (!iscopy)
- return false;
- delFile(srcFile);
- return true;
- }
- /**
- * 移动目录下的所有文件到指定目录
- *
- * @param srcDir
- * @param destDir
- * @return
- * @throws IOException
- */
- public boolean moveFilesTo(File srcDir, File destDir) throws IOException {
- if (!srcDir.isDirectory() || !destDir.isDirectory()) {
- return false;
- }
- File[] srcDirFiles = srcDir.listFiles();
- for (int i = 0; i < srcDirFiles.length; i++) {
- if (srcDirFiles[i].isFile()) {
- File oneDestFile = new File(destDir.getPath() + "\\"
- + srcDirFiles[i].getName());
- moveFileTo(srcDirFiles[i], oneDestFile);
- delFile(srcDirFiles[i]);
- } else if (srcDirFiles[i].isDirectory()) {
- File oneDestFile = new File(destDir.getPath() + "\\"
- + srcDirFiles[i].getName());
- moveFilesTo(srcDirFiles[i], oneDestFile);
- delDir(srcDirFiles[i]);
- }
- }
- return true;
- }
- }
本文深入探讨了Android中文件和目录的操作方法,包括文件写入、追加、读取、删除、目录删除、文件复制、目录复制、文件移动、目录移动等功能。
3055

被折叠的 条评论
为什么被折叠?



