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,本文尝试解释这两个命令 ...
随机推荐
- CentOS yum 安装获取原始rpm文件的方法
1. 有时候 yum install 需要从几个repo下载rpm包速度很慢,不如自己能够将rpm包下载下来继续使用,比较好. 发现yum install 有两种方式能够将下载的rpm包保存下来. 方 ...
- Tomcat7/8访问Server Status、Manager App、Host Manager出现403 forbidden
在配置好Tomcat7/8后,我们往往需要访问Tomcat7/8的Manager以及Host Manager.就需要在tomcat-users.xml中配置用户角色来实现.在地址栏输入:localho ...
- C#實現XML的增刪查改
命名空間:using System.Xml; 1.查找某個節點是否存在: private XmlDocument xmldoc; private string mod="1"; p ...
- selenium之批量执行测试用例生成HTML结果文件
使用HTMLTestRunner运行测试套件,自动生成html测试报告: import unittest, HTMLTestRunner, sendmail_html import time, os ...
- JavaScript利用递归和循环实现阶乘
[实现方法] 1.利用while循环来做,当然for循环也可以. 2.递归 [代码内容] 偷懒,直接用onkeyup事件来限制来页面的输入 循环代码: //第一种方法 while循环 oCount.o ...
- Dumb Bones UVA - 10529(概率dp)
题意: 你试图把一些多米诺骨牌排成直线,然后推倒它们.但是如果你在放骨牌的时候不小心把刚放的骨牌碰倒了,它就会把相临的一串骨牌全都碰倒, 而你的工作也被部分的破坏了. 比如你已经把骨牌摆成了DD__D ...
- 自学Zabbix12.3 Zabbix命令-zabbix_agentd
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix12.3 Zabbix命令-zabbix_agentd 1. zabbix_age ...
- 【BZOJ3821/UOJ46】玄学(二进制分组,线段树)
[BZOJ3821/UOJ46]玄学(二进制分组,线段树) 题面 BZOJ UOJ 题解 呜,很好的题目啊QwQ. 离线做法大概可以线段树分治,或者直接点记录左右两次操作时的结果,两个除一下就可以直接 ...
- poj2386(简单的dfs/bfs)
题目链接:http://poj.org/problem?id=2386 Description Due to recent rains, water has pooled in various pla ...
- Linux中无权限使用sudo
提示:$USER is not in the sudoers file. This incident will be reported. 解决方法: 切换到root用户,su 编辑sudo配置文件,v ...