Java实现DOS中的Copy命令
import java.io.*; import java.util.Scanner; public class fileCopy { public static void main(String []args) throws Exception { try{ if("Copy".equals(args[0]) || "copy".equals(args[0])) { File file1 = new File(args[1]); // 指定要操作的源文件路径 if(file1.exists()) //如果源文件存在 { File file2 = new File(args[2]); // 指定要操作的目标文件路径 if(file2.exists())//如果目标文件存在 { FileReader fr = new FileReader(args[1]); //创建一个FileReader对象 从磁盘读 BufferedReader br = new BufferedReader(fr); //创建一个BufferedReader对象 Scanner input = new Scanner(System.in) ; System.out.print("是否要覆盖目标文件? (y/n) "); String x= input.next(); if("y".equals(x)|| "Y".equals(x)) { FileWriter fw =new FileWriter(args[2]); //创建一个FileWriter对象 写到磁盘 BufferedWriter bw =new BufferedWriter(fw); //创建一个BufferedReader对象 if(br.ready()) { String tmp=null; while((tmp=br.readLine())!=null) { bw.write(tmp); //写一行 bw.newLine(); //写一个换行符 } } bw.flush(); //清空缓存 bw.close(); //关闭流 fw.close(); //关闭流 br.close(); //关闭流 fr.close(); //关闭流 System.out.println("成功覆盖文件!"); } else { FileWriter fw =new FileWriter(args[2],true); //创建一个FileWriter对象 写到磁盘 BufferedWriter bw =new BufferedWriter(fw); //创建一个BufferedReader对象 if(br.ready()) { String tmp=null; while((tmp=br.readLine())!=null) { bw.write(tmp); //写一行 bw.newLine(); //写一个换行符 } } bw.flush(); //清空缓存 bw.close(); //关闭流 fw.close(); //关闭流 br.close(); //关闭流 fr.close(); //关闭流 System.out.println("成功追加文件!"); } } else { FileReader fr = new FileReader(args[1]); //创建一个FileReader对象 从磁盘读 BufferedReader br = new BufferedReader(fr); //创建一个BufferedReader对象 FileWriter fw =new FileWriter(args[2]); //创建一个FileWriter对象 写到磁盘 BufferedWriter bw =new BufferedWriter(fw); //创建一个BufferedReader对象 System.out.println("不存在目标文件,正在自动生成一个新文件!"); if(br.ready()) { String tmp=null; while((tmp=br.readLine())!=null) { bw.write(tmp); //写一行 bw.newLine(); //写一个换行符 } } bw.flush(); //清空缓存 bw.close(); //关闭流 fw.close(); //关闭流 br.close(); //关闭流 fr.close(); //关闭流 } } else { System.out.println("源文件不存在!"); } } else { System.out.println("输入错误!"); } } catch (IOException e) { e.printStackTrace(); } } }
Java实现DOS中的Copy命令的更多相关文章
- Oracle数据库间的数据复制 - SQLPlus中的COPY命令
Copy命令可以实现不同Oracle数据库间的数据的复制,也是可以实现同一数据库的数据复制,其性能表现和导入/导出相同. 根据9i文档,说Copy命令未来会不支持,但实际上Oracle 11g仍然支持 ...
- 畸形的 dockerfile中的COPY命令-
dockerfile中的COPY是指COPY 指定目录的“子级目录”下所有的目录和文件,到指定目录中,这个shell中的cp命令大相径庭,使得很多人纳闷,怎么cpy过去的文件不是自己想要的
- DOS中的ECHO命令详解
1. 作为控制批处理命令在执行时是否显示命令行自身的开关 格式:ECHO [ON|OFF] 如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”. 2. 显示当前ECHO ...
- DOS中的CD命令详解
CD命令是改变子目录的命令.格式:CD [路径] . 值得明确的是:CD命令只能进入当前盘符中的文件夹,改变操作的根目录(改变操作盘符),则不需用cd.例如你当前是在c:盘下,要到d:盘,只需键入d: ...
- dos中执行cd命令切换不到对应的盘解决方法
可以使用cd命令,不过需要加参数 /d,如: cd /d e:
- Dockerfile中COPY命令的简单性
dockerfile中的COPY命令是不会拷贝目录结构的,它只会单纯把包含的所有文件拷贝到另一个目录中去. 相关链接:https://www.cnblogs.com/sparkdev/p/957324 ...
- Dockerfile 中的 COPY 与 ADD 命令
Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令的基本功能,以及其异同点,然后总结其各自适合的应用场景. Build 上下文的概念 在使用 docker ...
- DOS中命令的格式
---------------siwuxie095 一.DOS中,命令使用格式的一般形式 用中文表达的形式为: [路径] 关键字 [盘符] [路径] 文件名 [扩展名] (参数) [参数 ...
- 【Docker】涨姿势,深入了解Dockerfile 中的 COPY 与 ADD 命令
参考资料:https://www.cnblogs.com/sparkdev/p/9573248.html Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令 ...
随机推荐
- 面象对象设计原则之一:单一职责原则(Single Responsibility Principle, SRP)
单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小.单一职责原则定义如下:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域 ...
- [转帖]Nginx的超时keeplive_timeout配置详解
Nginx的超时keeplive_timeout配置详解 https://blog.csdn.net/weixin_42350212/article/details/81123932 Nginx ...
- 给定一个 hashMap 最终输出最大值的键
/** * * 类 描 述:机试题: 给定一个 hashMap 最终输出最大值的键 * 作 者: 赵 鹏 * 时 间:2017年7月4日 下午6:51:06 */ public class Test ...
- WINFORM 多条件动态查询 通用代码的设计与实现
经常碰到多条件联合查询的问题,以前的习惯认为很简单总会从头开始设计布局代码,往往一个查询面要费上老半天的功夫,而效果也不咋地. 前段时间做了个相对通用的多条件动态查询面,复用起来还是挺方便的, ...
- 关于JavaScript中this的软绑定
首先,什么是软绑定? 所谓软绑定,是和硬绑定相对应的一个词,在详细解释软绑定之前,我们先来看看硬绑定.在JavaScript中,this的绑定是动态的,在函数被调用的时候绑定,它指向什么完全取决于函数 ...
- 什么样的 GitHub 才适合放简历上?
为什么 GitHub 可以加分? 很多招聘描述上面都会备注 GitHub 是加分项,那么为什么它是加分项呢? 停,如果看到这里你还不知道 GitHub 是什么,可以看一下 Phodal的手记:http ...
- 一点点linux系统的学习心得
我相信你正在阅读本文的时候,可能是因为你渴望学习Linux技术.我想分享一下过去两年中我自己的一些学习经历,希望你能更顺利地成为Linuxer. 两年前在Linux系统的运行和维护方面找到了一份工作( ...
- C# TreeView 连续点击 不触发AfterCheck事件
创建一个类 TreeView2 namespace System.Windows.Forms { public class TreeView2 : TreeView { protected overr ...
- POJ1177(扫描线求周长并)
题意:..求周长并... 解析:参考求面积并 图借鉴自:https://www.cnblogs.com/shuaiwhu/archive/2012/04/22/2464876.html 自下而上扫描 ...
- (伪)再扩展中国剩余定理(洛谷P4774 [NOI2018]屠龙勇士)(中国剩余定理,扩展欧几里德,multiset)
前言 我们熟知的中国剩余定理,在使用条件上其实是很苛刻的,要求模线性方程组\(x\equiv c(\mod m)\)的模数两两互质. 于是就有了扩展中国剩余定理,其实现方法大概是通过扩展欧几里德把两个 ...