- 浏览: 235088 次
- 性别:
- 来自: 上海
最新评论
-
iwindyforest:
pinocchio2mx 写道iwindyforest 写道H ...
VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite -
nng119:
找不到设备的安装信息 这个问题怎么解决的?
VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite -
pinocchio2mx:
iwindyforest 写道Hi pinocchio2mx ...
VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite -
iwindyforest:
Hi pinocchio2mx 兄弟, 这个镜像是好的, 我安 ...
VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite -
pinocchio2mx:
蛋疼啊,折腾一晚上还没搞定!网上的教程没一篇靠谱的,摸摸索索到 ...
VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite
package com.iwindyforest.dir; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; public class FileSystem { private ArrayList<String> fileList = new ArrayList<String>(); public FileSystem(String path) { long a = System.currentTimeMillis(); this.listFiles(path); this.print("TimeCost:" + (System.currentTimeMillis() - a) + " Millis"); this.xCopy(path, "C:\\temp"); } private void print(String message) { System.out.println(message); } public void listFiles(String strPath) { File dir = new File(strPath); if(dir != null && dir.exists()) { if(dir.isDirectory()) { File[] files; try { files = dir.listFiles(); } catch(SecurityException e) { files = null; e.printStackTrace(); } if(files == null) { return; } else { for(int i = 0; i < files.length; i++) { String strFileName = files[i].getAbsolutePath(); if(files[i].isDirectory()) { this.print("D--:" + strFileName); this.listFiles(files[i].getAbsolutePath()); } else { this.print("F--:" + strFileName); fileList.add(files[i].getAbsolutePath()); } } } } else { this.print("F--:" + dir.getAbsolutePath()); } } else { this.print("FileNotExist:" + dir.getAbsolutePath()); } } private boolean checkDir(File dir) { if(dir == null) { this.print("dirPath is null"); return false; } else if(!dir.exists()) { this.print("dirPath: " + dir.getAbsolutePath() + " doesn't exist."); return false; } else if(!dir.isDirectory()) { this.print("dirPath: " + dir.getAbsolutePath() + " is not a directory."); return false; } else { return true; } } /** * 类似与windows操作系统的xCopy,递归拷贝整个源目录到目标目录。 源目录和目标目录必须已经存在。 * * @param srcDirPath * @param destDirPath */ public void xCopy(String srcDirPath, String destDirPath) { File srcDir = new File(srcDirPath); File destDir = new File(destDirPath); if(this.checkDir(srcDir) && this.checkDir(destDir)) { File[] files; try { files = srcDir.listFiles(); } catch(SecurityException e) { files = null; this.print("xCopy breaked: can't listFiles,may be caused by:"); e.printStackTrace(); return; } if(files == null) { return; } else { for(int i = 0; i < files.length; i++) { String fileName = files[i].getName(); String absoluteFileName = files[i].getAbsolutePath(); if(files[i].isDirectory()) { // 下一次递归的源目录 String subSrcDir = srcDir.getPath() + File.separator + fileName; // 下一次递归的目的目录 String subDestDir = destDir.getPath() + File.separator + fileName; try { new File(subDestDir).mkdir(); } catch(SecurityException e) { this.print("can't mkdir in path : " + subDestDir); this.print("xCopy breaked cause by: "); e.printStackTrace(); return; } xCopy(subSrcDir, subDestDir); } else { String destFileName = destDirPath + File.separator + fileName; copyFile(absoluteFileName, destFileName); } } } } } /** * 简单复制单个文件到目标路径。目标路径下的该文件必须有可写权限 * * @param srcFilePath * @param desFilePath */ public void copyFile(String srcFilePath, String desFilePath) { int byteread = 0; InputStream in = null; FileOutputStream out = null; try { in = new FileInputStream(srcFilePath); out = new FileOutputStream(desFilePath); } catch(FileNotFoundException e) { e.printStackTrace(); } byte[] buffer = new byte[1024]; try { while((byteread = in.read(buffer)) != -1) { out.write(buffer, 0, byteread); } in.close(); out.close(); } catch(IOException e) { e.printStackTrace(); } } public static void main(String[] args) { if(args.length == 1) { new FileSystem(args[0]); } else { new FileSystem(System.getProperty("user.dir", "c:\\")); } } }
- xcopy.rar (7.5 KB)
- 描述: java xCopy源代码
- 下载次数: 58
评论
2 楼
iwindyforest
2008-07-10
哦,谢谢EXvision的指点!
commons的FileUtils还没看到,所以不知道,
回去好好看下...
commons的FileUtils还没看到,所以不知道,
回去好好看下...
1 楼
EXvision
2008-07-09
很销魂的轮子哦.
commons的FileUtils貌似帮lz写好了这些。
commons的FileUtils貌似帮lz写好了这些。
发表评论
-
利用归并排序算法对大文件进行排序
2015-01-25 20:59 5627归并排序算法介绍,请参照Wikipeida zh. ... -
try-catch影响性能吗?
2014-07-09 17:06 1682try-catch会影响性能吗? try-catch放在循 ... -
Java Concurrency In Practice Learning Note
2014-06-17 11:13 0Frameworks introduce concurre ... -
Java collections overview
2014-03-21 10:37 868Fromp: http://java-performance ... -
JVM Learning Note 4 -- HotSpot JVM Options List
2014-02-26 11:08 1033From: http://www.oracle.c ... -
Eclispe 性能优化
2014-02-25 15:07 939我目前Eclipse所在的机器环境是windows x32 ... -
JVM Learning Note 3 -- JVM Performance Monitor Tools
2014-02-25 12:25 1173JDK Provided Tools Comman ... -
JVM Performance Monitor Tools
2014-02-25 11:12 5JDK Provide Tools Command Li ... -
JVM Learning Note 2 -- Garbage Collection and Memory Allocation Strategy
2014-02-18 14:57 1762Method to check if an object ... -
JVM Learning Note 1 -- Run-Time Data Areas and Object Representation
2014-02-11 00:44 876Run-Time Data Areas Clas ... -
String.intern()方法
2014-02-10 16:22 786intern public String intern() ... -
GlobalKnowledge: 2013 IT 技能薪水报告
2014-01-09 18:24 1875from: GlobalKnowledge http:/ ... -
OLTP Vs OLAP
2014-01-02 13:42 839OLTP vs. OLAP We can divide ... -
java的字符串拼接
2013-12-31 16:43 815每当我用+运算符拼接字符串时, 总有人跟我提出你应该 ... -
45 Useful JavaScript Tips, Tricks and Best Practices
2013-12-31 11:08 10222By Saad Mousliki ... -
面试10大算法汇总+常见题目解答
2013-12-16 18:03 1999面试10大算法汇总+常见题目解答 最近更新 ... -
面试关于HashMap的工作原理
2013-12-16 17:58 1979先来些简单的问题 “你用过HashMap吗?” ... -
处理 InterruptedException
2013-11-01 16:28 745这样的情景您也许并不陌生:您在编写一个测试程序,程序需要暂 ... -
Java正确处理InterruptedException的方法
2013-11-01 16:24 802要想讨论正确处理Interr ... -
Overview To CMMI v1.3
2013-07-05 18:15 912What is CMMI? CMMI® (Capa ...
相关推荐
windows xcopy 远程拷贝
操作系统接口:Windows命令接口2。(2人) 为Windows操作系统建立兼容的DOS命令接口,文件与目录命令;具体命令:DIR, RD,CD,MD, DEL,MOVE,REN,XCOPY,命令格式可参照Windows的CMD.EXE或MS-DOS提供的命令;设计命令...
XCopy是Windows操作系统中一个强大的文件和目录复制工具,能够实现深度复制,包括子目录及其内容。在这个VB程序中,开发者可能实现了自定义的文件复制逻辑,以在没有命令行环境或者需要更友好用户界面的情况下进行...
在Windows操作系统的历史中,DOS(磁盘操作系统)是一个早期的操作环境,其中许多实用命令如XCOPY用于高效的文件复制和管理。XCOPY命令是DOS环境中的一款强大的文件和目录复制工具,它支持多种选项,可以实现灵活的...
设计任务 (1)为Windows操作系统建立兼容的DOS命令接口,文件与目录命令 (2)具体命令:DIR,RD,CD,MD,DEL,MOVE,REN,XCOPY,命令格式可参考Windows的CMD.EXE或MS-DOS提供的命令格式 (3)设计命令的名称,参数等...
在Java编程环境中,实现局域网内的文件拷贝是一项常见的任务,尤其对于系统集成、数据共享或备份场景。本文将详细讲解如何利用Java技术来复制局域网内其他计算机上的文件,并讨论如何替换文件调用路径片段以适应不同...
xcopy 按键操作的实例 此代码可以实现横版游戏的任务控制或其他相关操作如系统操作
设计任务: (1) 为Windows操作系统建立兼容的DOS命令接口,文件与目录命令 (2) 具体命令:DIR,RD,CD,MD,DEL,MOVE,REN,XCOPY,命令格式可参考Windows的CMD.EXE或MS-DOS提供的命令格式 (3) 设计命令的名称,...
- **兼容性**: 虽然DOS系统已不再主流,但XCOPY v1.1汉化版仍能很好地运行在Windows的DOS窗口或其他模拟DOS环境之中。 **5. 应用场景** - **系统备份**: 使用XCOPY可以方便地备份系统文件,特别是配合特定选项,如...
64-bit ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy for Windows x64 [Released January 14, 2014] Download ODAC112040Xcopy_64bit.zip - 54.7 MB (57,388,125 bytes) Installation Instructions are ...
- 确保目标系统满足64位Windows操作系统的要求。 - 理解并正确配置Oracle TNS(Transparent Network Substrate)设置,以便ODAC能够找到并连接到Oracle数据库实例。 - 安装后需要在应用程序配置文件中正确指定ODP...
标题中的“Xcopy超级拷贝工具 可以达到硬盘传输极限”指的是Windows操作系统中的一个强大命令行工具——Xcopy(eXtended Copy)。Xcopy是DOS命令的一部分,它扩展了基本的复制命令(copy),提供了更多选项,使得...
本主题将深入探讨如何使用API编写一个类似于`xcopy`的功能,并将其集成到一个基于按钮操作文件的Windows窗体应用中。 首先,我们要了解Windows API中的几个关键函数,这些函数是实现`xcopy`功能的基础: 1. **...
XCopy示例,可以象Dos下的XCopy命令一样。 欢迎访问小李飞刀的个人主页 VBFighter 主页地址 http://go.163.com/~lihui48 虚拟域名 http://vbifghter.126.com