Java基础之访问文件与目录——移动或复制文件和目录(MoveAndCopyFiles)
2013-10-24 19:44
519 查看
控制台程序,创建和删除目录以及复制和移动文件。
import java.nio.file.*; import java.nio.file.attribute.*; import java.io.IOException; public class MoveAndCopyFiles { static void createSingleDirectory(Path path){ try{ Files.createDirectories(path); System.out.println("\n" + path + " directory created."); } catch (IOException e) { System.out.println("\nDirectory creation failed:\n" + e); } } static boolean isDirectory(Path path) { try{ BasicFileAttributes attr =Files.readAttributes(path,BasicFileAttributes.class); return attr.isDirectory(); } catch (IOException e) { System.err.println("I/O error in isDirectory method. " + e); } return false; } static boolean copyFiles(Path from, Path to) { if(!isDirectory(from)) { System.out.println("Cannot copy files. " + from + " is not a directory."); return false; } if(!isDirectory(to)) { System.out.println("Cannot copy files. " + to + " is not a directory."); return false; } try (DirectoryStream<Path> files =Files.newDirectoryStream(from, "*.*")) { System.out.println("Starting copy..."); for(Path file : files) { Files.copy(file, to.resolve(file.getFileName())); System.out.println(" " + file.getFileName() + " copied."); } } catch (IOException e) { System.err.println("I/O error in copyFiles. " + e); return false; } return true; } static boolean moveFiles(Path from, Path to) { if(!isDirectory(from)) { System.out.println("Cannot move files. " + from + " is not a directory."); return false; } if(!isDirectory(to)) { System.out.println("Cannot move files. " + to + " is not a directory."); return false; } try (DirectoryStream<Path> files =Files.newDirectoryStream(from, "*.*")) { System.out.println("Starting move..."); for(Path file : files) { Files.move(file, to.resolve(file.getFileName())); System.out.println(" " + file.getFileName() + " moved."); } } catch (IOException e) { System.err.println("I/O error in copyFiles. " + e); return false; } return true; } static void waitForEnter() { try { System.out.println("waiting..."); System.in.read(); }catch(IOException e) { System.err.println(e); } } public static void main(String[] args) { Path current =Paths.get("E:/JavaProject/BeginningJava/Ch9_Directories/MoveAndCopyFiles"); Path newDir =Paths.get("junkDir"); newDir=newDir.toAbsolutePath(); createSingleDirectory(newDir); System.out.println("Copying files from " + current + " to " + newDir); if(!copyFiles(current,newDir)) { System.out.println("Copying files failed."); return; } System.out.println("You can look at the directory to verify that the copy has worked."); System.out.println("Press Enter to continue."); waitForEnter(); Path newDir2 =Paths.get("junkDirBackup"); newDir2=newDir2.toAbsolutePath(); createSingleDirectory(newDir2); System.out.println("Moving files from " + newDir + " to " + newDir2); if(!moveFiles(newDir,newDir2)) { System.out.println("Moving files failed."); return; } System.out.println("You can look at the directory to verify that the move has worked."); System.out.println("Press Enter to continue."); waitForEnter(); try { System.out.println("Deleting " + newDir + "..."); Files.delete(newDir); }catch(IOException e) { System.err.println("Deleting " + newDir + " failed:\n" + e); } try (DirectoryStream<Path> files =Files.newDirectoryStream(newDir2, "*.*")) { System.out.println("Deleting files from " + newDir2 + "..."); for(Path file:files) { Files.delete(file); System.out.println(" " + file.getFileName() + " deleted."); } System.out.println("Deleting " + newDir2 + "..."); Files.delete(newDir2); } catch (IOException e) { System.err.println("I/O error deleting files. " + e); } } }
相关文章推荐
- SharePoint 2013 Rest and SP.js Copyto and Moveto (Rest 和SP.js 基本用法之 复制和移动文件)
- java移动/复制文件 copy/move file
- Java基础之访问文件与目录——获取与文件存储有关的信息(GetFileStores)
- 复制D:\\day05目录下的所有文件到D:\\copy,并将.txt文件改为.java文件。
- java移动/赋值文件 copy/move file
- Java基础之访问文件与目录——列出目录内容(ListDirectoryContents)
- Java NIO——与传统IO文件复制的效率比较(channel.transferTo、Files.copy 、channel.write)
- Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例
- java中File文件的创建,删除,复制,移动,以及目录文件的删除等等,主要是文件及文件夹的操作
- Java基础之访问文件与目录——测试文件或目录的路径(TryPath)
- 一天一篇批处理之——Part3:复制/移动文件命令move,copy,xcopy
- Java基础之访问文件与目录——创建目录(CreatingDirectories)
- java读取excel文件并复制(copy)文件到指定目录示例
- Java实现——字符串分割以及复制目录下的所有文件
- 【Java学习笔记】基础知识学习18【一个小文件的复制方法】
- 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。
- Java实现文件或文件夹的复制到指定目录实例
- java File的基本操作实例(目录及文件的 新建/拷贝/移动)
- 黑马程序员——java基础之文件复制
- Java基础之IO流,通过字节流对媒体文件进行复制操作