AAA java实现文件的复制,移动
来源:互联网 发布:pubmed数据库电脑官网 编辑:程序博客网 时间:2024/06/05 15:00
- java实现文件的复制,移动
- package com.file;
- import java.io.File;//引入类
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- //实现文件的简单处理,复制和移动文件、目录等
- public class TextCopyFileAndMove {
- public static void fileMove(String from, String to) throws Exception {// 移动指定文件夹内的全部文件
- try {
- File dir = new File(from);
- File[] files = dir.listFiles();// 将文件或文件夹放入文件集
- if (files == null)// 判断文件集是否为空
- return;
- File moveDir = new File(to);// 创建目标目录
- if (!moveDir.exists()) {// 判断目标目录是否存在
- moveDir.mkdirs();// 不存在则创建
- }
- for (int i = 0; i < files.length; i++) {// 遍历文件集
- if (files[i].isDirectory()) {// 如果是文件夹或目录,则递归调用fileMove方法,直到获得目录下的文件
- fileMove(files[i].getPath(), to + "\\" + files[i].getName());// 递归移动文件
- files[i].delete();// 删除文件所在原目录
- }
- File moveFile = new File(moveDir.getPath() + "\\"// 将文件目录放入移动后的目录
- + files[i].getName());
- if (moveFile.exists()) {// 目标文件夹下存在的话,删除
- moveFile.delete();
- }
- files[i].renameTo(moveFile);// 移动文件
- System.out.println(files[i] + " 移动成功");
- }
- } catch (Exception e) {
- throw e;
- }
- }
- // 复制目录下的文件(不包括该目录)到指定目录,会连同子目录一起复制过去。
- public static void copyFileFromDir(String toPath, String fromPath) {
- File file = new File(fromPath);
- createFile(toPath, false);// true:创建文件 false创建目录
- if (file.isDirectory()) {// 如果是目录
- copyFileToDir(toPath, listFile(file));
- }
- }
- // 复制目录到指定目录,将目录以及目录下的文件和子目录全部复制到目标目录
- public static void copyDir(String toPath, String fromPath) {
- File targetFile = new File(toPath);// 创建文件
- createFile(targetFile, false);// 创建目录
- File file = new File(fromPath);// 创建文件
- if (targetFile.isDirectory() && file.isDirectory()) {// 如果传入是目录
- copyFileToDir(targetFile.getAbsolutePath() + "/" + file.getName(),
- listFile(file));// 复制文件到指定目录
- }
- }
- // 复制一组文件到指定目录。targetDir是目标目录,filePath是需要复制的文件路径
- public static void copyFileToDir(String toDir, String[] filePath) {
- if (toDir == null || "".equals(toDir)) {// 目录路径为空
- System.out.println("参数错误,目标路径不能为空");
- return;
- }
- File targetFile = new File(toDir);
- if (!targetFile.exists()) {// 如果指定目录不存在
- targetFile.mkdir();// 新建目录
- } else {
- if (!targetFile.isDirectory()) {// 如果不是目录
- System.out.println("参数错误,目标路径指向的不是一个目录!");
- return;
- }
- }
- for (int i = 0; i < filePath.length; i++) {// 遍历需要复制的文件路径
- File file = new File(filePath[i]);// 创建文件
- if (file.isDirectory()) {// 判断是否是目录
- copyFileToDir(toDir + "/" + file.getName(), listFile(file));// 递归调用方法获得目录下的文件
- System.out.println("复制文件 " + file);
- } else {
- copyFileToDir(toDir, file, "");// 复制文件到指定目录
- }
- }
- }
- public static void copyFileToDir(String toDir, File file, String newName) {// 复制文件到指定目录
- String newFile = "";
- if (newName != null && !"".equals(newName)) {
- newFile = toDir + "/" + newName;
- } else {
- newFile = toDir + "/" + file.getName();
- }
- File tFile = new File(newFile);
- copyFile(tFile, file);// 调用方法复制文件
- }
- public static void copyFile(File toFile, File fromFile) {// 复制文件
- if (toFile.exists()) {// 判断目标目录中文件是否存在
- System.out.println("文件" + toFile.getAbsolutePath() + "已经存在,跳过该文件!");
- return;
- } else {
- createFile(toFile, true);// 创建文件
- }
- System.out.println("复制文件" + fromFile.getAbsolutePath() + "到"
- + toFile.getAbsolutePath());
- try {
- InputStream is = new FileInputStream(fromFile);// 创建文件输入流
- FileOutputStream fos = new FileOutputStream(toFile);// 文件输出流
- byte[] buffer = new byte[1024];// 字节数组
- while (is.read(buffer) != -1) {// 将文件内容写到文件中
- fos.write(buffer);
- }
- is.close();// 输入流关闭
- fos.close();// 输出流关闭
- } catch (FileNotFoundException e) {// 捕获文件不存在异常
- e.printStackTrace();
- } catch (IOException e) {// 捕获异常
- e.printStackTrace();
- }
- }
- public static String[] listFile(File dir) {// 获取文件绝对路径
- String absolutPath = dir.getAbsolutePath();// 声获字符串赋值为路传入文件的路径
- String[] paths = dir.list();// 文件名数组
- String[] files = new String[paths.length];// 声明字符串数组,长度为传入文件的个数
- for (int i = 0; i < paths.length; i++) {// 遍历显示文件绝对路径
- files[i] = absolutPath + "/" + paths[i];
- }
- return files;
- }
- public static void createFile(String path, boolean isFile) {// 创建文件或目录
- createFile(new File(path), isFile);// 调用方法创建新文件或目录
- }
- public static void createFile(File file, boolean isFile) {// 创建文件
- if (!file.exists()) {// 如果文件不存在
- if (!file.getParentFile().exists()) {// 如果文件父目录不存在
- createFile(file.getParentFile(), false);
- } else {// 存在文件父目录
- if (isFile) {// 创建文件
- try {
- file.createNewFile();// 创建新文件
- } catch (IOException e) {
- e.printStackTrace();
- }
- } else {
- file.mkdir();// 创建目录
- }
- }
- }
- }
- public static void main(String[] args) {// java程序主入口处
- String fromPath = "E:/createFile";// 目录路径
- String toPath = "F:/createFile";// 源路径
- System.out.println("1.移动文件:从路径 " + fromPath + " 移动到路径 " + toPath);
- try {
- fileMove(fromPath, toPath);// 调用方法实现文件的移动
- } catch (Exception e) {
- System.out.println("移动文件出现问题" + e.getMessage());
- }
- System.out.println("2.复制目录 " + toPath + " 下的文件(不包括该目录)到指定目录" + fromPath
- + " ,会连同子目录一起复制过去。");
- copyFileFromDir(fromPath, toPath);// 调用方法实现目录复制
- System.out.println("3.复制目录 " + fromPath + "到指定目录 " + toPath
- + " ,将目录以及目录下的文件和子目录全部复制到目标目录");
- copyDir(toPath, fromPath);// 调用方法实现目录以用目录下的文件和子目录全部复制
- }
- }
0 0
- AAA java实现文件的复制,移动
- java实现文件的复制,移动
- java实现文件/文件夹复制、删除、移动
- Java中实现复制文件到文件,复制文件到文件夹,复制文件夹到文件,删除文件,删除文件夹,移动文件,移动文件夹的工具类
- C++ 实现文件的复制和移动
- java实现文件的复制。
- java实现文件的复制
- java实现文件的复制
- java实现FTP远程文件移动(重命名、复制、拷贝)
- Java实现文件的读取、写入、复制、修改、移动等操作
- asp.net c#实现文件的创建、移动、删除、复制
- AAA JAVA实现把指定文件夹下的所有文件压缩成zip包
- Java 简易完成文件的复制、移动与删除
- java复制文件删除文件 移动文件 复制文件夹等
- Java实现文件复制
- Java实现文件复制
- java实现文件复制
- Java实现文件复制
- SQL 数据库语言分析总结(二)
- 2014下半年部分Html5小游戏记录
- 2015中国数据库大会Mongodb分享
- Android中onInterceptTouchEvent与onTouchEvent(图文)!
- C Primer Plus 第七章 课后练习……2015.4.26
- AAA java实现文件的复制,移动
- hdu5211Mutiple
- 最简单的小型商城实现:Serlvet+Jsp经典案例
- VC实现文件自我删除
- 习题3-17
- 如何远程控制另一台计算机并传送文件
- 黑马程序员—Properties—限制与记录程序运行次数
- 单例模式
- MySQL窗口输入密码后消失,解决办法