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,本文尝试解释这两个命令 ...
随机推荐
- [转帖] YAML 快速入门
https://www.jianshu.com/p/97222440cd08 原始文档更加易读. YAML快速入门 叩丁狼教育 关注 2018.02.18 19:19* 字数 1776 阅读 876评 ...
- 怎样让DBGrid在按住Shift点鼠标的同时能将连续范围的多行选中?
参见例子:…privateSel : Boolean ;//判断是否处于选择状态BookMark : TBookMark ;//记录先前的位置…procedure TForm1.DBGrid1Mous ...
- python之hasattr、getattr和setattr函数
hasattr函数使用方法 # hasattr函数使用方法 # hasattr(object,attr) # 判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False class ...
- Java中子类和父类相关方法的执行顺序
无意中看到下面一个题目,大家一起来看看最后的输出结果是什么.反正我看完之后,用IDE测试后感觉知识点得到巩固了. /** * 函数执行顺序测试 * Created by 萌小Q on 2017/5/1 ...
- MyBatis在表名作为参数时遇到的问题
之前在用MyBatis的时候没用过表名作为参数,最近使用到了. 基于注释使用MyBatis的Dao层代码如下: @Repository public interface Base1102Dao { @ ...
- Redundant Paths POJ - 3177(边—双连通分量)
题意: 在图中加边 看最少能通过加多少条边把 图变成边—双连通分量 解析: 先做一次dfs,不同的连通分量的low是不同的 注意重边 缩点 统计度为1的点 那么需要加的边为(ret+1)/2 #i ...
- MT【49】四次函数求最值
已知$f(x)=(1-x^2)(x^2+ax+b)$的图像关于x=3对称,求$f(x)$的最大值. 解答:显然$-1,7;1,5$是$f(x)=0$的根.故$(x^2+ax+b)=(x-5)(x-7) ...
- Linux Install geoip
安装方法 http://php.net/manual/en/geoip.installation.phpgeoip中的PHP函数介绍:http://php.net/manual/en/book.geo ...
- CF1101D GCD Counting(数学,树的直径)
几个月的坑终于补了…… 题目链接:CF原网 洛谷 题目大意:一棵 $n$ 个点的树,每个点有点权 $a_i$.一条路径的长度定义为该路径经过的点数.一条路径的权值定义为该路径经过所有点的点权的 GC ...
- AtCoder Grand Contest 004 C - AND Grid
题意: 给出一张有紫色点的网格,构造一张红点网格和一张蓝点网格,使红蓝点的交集为紫色点. 保证网格四周没有紫色点. 构造一下,使蓝点和红点能够到每个点. #include<bits/stdc++ ...