`
刘小小尘
  • 浏览: 67536 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

文件夹的复制,剪切,删除,及文件追加写实例

 
阅读更多

废话少说,直接上代码

文件的追加写

public class TestFileOp {
	@Test
	public void testFile1() {
		String source = "D:/keywordzip-zip/testNull/a.txt" ;
		String destination = "D:/keywordzip-zip/testNull/c.txt" ;
		try {
			RandomAccessFile randomF = new RandomAccessFile(source, "rw") ;
			FileInputStream fls = new FileInputStream(destination);
			byte[] b = new byte[fls.available()] ;
			fls.read(b);
			long l = randomF.length();
			randomF.seek(l);
			randomF.write(b);
			fls.close();
			randomF.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

文件的复制删除,移动操作,直接上代码

package com.pzoom.xiaochen.file;

import java.io.*;

/**
* 纯Java文件操作工具,支持文件、文件夹的复制、删除、移动操作。
*
* @author leizhimin 2010-6-2 16:12:14
*/
public class FileToolkit {
        public FileToolkit() {
        }

        public static void main(String args[]) throws IOException {
//                delete(new File("C:/aaa"));
//                copy(new File("D:\\work\\mrpt"), new File("C:\\aaa")); 
                move(new File("C:\\bbb"), new File("C:\\ddd"));

        }

        /**
         * 删除文件(夹)
         *
         * @param file 文件(夹)
         */
        public static void delete(File file) {
                if (!file.exists()) return;
                if (file.isFile()) {
                        file.delete();
                } else {
                        for (File f : file.listFiles()) {
                                delete(f);
                        }
                        file.delete();
                }
        }

        /**
         * 复制文件(夹)到一个目标文件夹
         *
         * @param resFile             源文件(夹)
         * @param objFolderFile 目标文件夹
         * @throws IOException 异常时抛出
         */
        public static void copy(File resFile, File objFolderFile) throws IOException {
                if (!resFile.exists()) return;
                if (!objFolderFile.exists()) objFolderFile.mkdirs();
                if (resFile.isFile()) {
                        File objFile = new File(objFolderFile.getPath() + File.separator + resFile.getName());
                        //复制文件到目标地
                        InputStream ins = new FileInputStream(resFile);
                        FileOutputStream outs = new FileOutputStream(objFile);
                        byte[] buffer = new byte[1024 * 512];
                        int length;
                        while ((length = ins.read(buffer)) != -1) {
                                outs.write(buffer, 0, length);
                        }
                        ins.close();
                        outs.flush();
                        outs.close();
                } else {
                        String objFolder = objFolderFile.getPath() + File.separator + resFile.getName();
                        File _objFolderFile = new File(objFolder);
                        _objFolderFile.mkdirs();
                        for (File sf : resFile.listFiles()) {
                                copy(sf, new File(objFolder));
                        }
                }
        }

        /**
         * 将文件(夹)移动到令一个文件夹
         *
         * @param resFile             源文件(夹)
         * @param objFolderFile 目标文件夹
         * @throws IOException 异常时抛出
         */
        public static void move(File resFile, File objFolderFile) throws IOException {
                copy(resFile, objFolderFile);
                delete(resFile);
        } 
}

代码很简单,仔细看,并简单debug下,绝对没有问题,望批评指正

分享到:
评论

相关推荐

    Cenots常见的命令大全

    - **a**:允许附加操作,即只能向文件追加数据而不能删除或修改现有内容。 - **b**:不更新文件的最后访问时间。 - **c**:将文件压缩存储。 - **d**:将文件排除在 dump 操作之外。 - **i**:使文件不可修改或删除...

    拓思爱诺大数据-第二天Hadoop高级编程

    - **Hadoop Shell/HDPData实践篇**:通过具体的命令实例,让学员亲自动手操作,加深对Hadoop Shell命令及HDPData文件夹的理解。 #### 三、Hadoop Shell/HDPData原理篇 ##### 1. 为什么需要Hadoop Shell/HDPData...

    2021-2022计算机二级等级考试试题及答案No.3655.docx

    14. 以追加方式打开文件,应该选择"a"参数,这样新的数据会被添加到文件的末尾,而不会覆盖原有内容。 15. 用户定义完整性约束允许我们在数据库表中设定特定字段的限制,例如年龄字段不超过30岁。 16. 逻辑表的...

    2021-2022计算机二级等级考试试题及答案No.4230.docx

    - `TYPE A.C >> B.C`:将A.C的内容追加到B.C文件末尾。 - 其他选项如`DISKCOMP A:C`、`COMP A:B:`等命令格式不正确。 ### 7. Microsoft Word - **知识点概述**:Microsoft Word是一款流行的文档编辑和排版软件,...

    Access+2000中文版高级编程

    12.3 创建及完善简单的数据访问页 369 12.3.1 数据访问页的字段列表 369 12.3.2 添加超级链接 370 12.3.3 在数据访问页中使用表达式 374 12.3.4 使用绑定的组合框和列表框 375 12.3.5 使用主题格式化 378 ...

    Access 2000中文版高级编程(part1)

    Access2000中文版高级编程 目录 第一部分 编程基础 1 第1章 宏与代码 3 ...15.4.2 剪切和粘贴API Viewer中的调用 476 15.4.3 在Win32api.txt文件中查找API调用 477 15.5 使用API调用的注意事项 479 15.5.1 ...

    C#编程经验技巧宝典

    85 <br>0130 复制字符串中指定的字符 85 <br>0131 巧截字符串的数字 86 <br>0132 如何存储变长字符串 86 <br>0133 在进行字符串比较时忽略大小写 87 <br>0134 如何去除字符串尾空格 87 ...

    2021-2022计算机二级等级考试试题及答案No.11345.docx

    - 在Windows 98资源管理器中,通过选择“文件”菜单项中的“新建”下的“文件夹”命令可以创建新的子目录。此描述正确。 ### 26. 窗体的作用 - 窗体的作用包括接收用户输入、显示数据库中的数据、构建美观的输入/...

    C# 常用单词汇总,常用单词汇总

    - **应用场景**: 文件操作中,复制文件或目录。 #### 40. Count (计数) - **定义**: 统计元素的数量。 - **应用场景**: 如统计数组中元素的总数。 #### 41. current (现在的) - **定义**: 当前状态下。 - **应用...

Global site tag (gtag.js) - Google Analytics