写出了DOS命令中的tree和dir命令,感觉自己也可以再来点其他的,于是呼呼呼~~~来!在走一个复制粘贴的小程序:
Scanner sc=new Scanner(System.in);
System.out.print("请输入要读取的文件的全路径:");
String path=sc.nextLine();
//定义在该路径下的文件类型
File f=new File(path);
//进行容错处理;
if(f==null||f.isDirectory()||f.exists()==false){
throw new IllegalArgumentException( f.getName() +"参数不合法 ");
}
//创建一个读取文件的流
InputStream iis=new FileInputStream(f);
System.out.print("请输入要读取的文件的全路径:");
String outFilepath=sc.nextLine();
File outFile=new File(outFilepath );
OutputStream oos=new FileOutputStream( outFile );
byte[] bs=new byte[1024];
int length=0;
//读取数据
while((length=iis.read(bs, 0, bs.length) ) !=-1 ){
<span style="color:#FF0000;"> //最重要的,必须是length ,如果是bs.length,那么存进去最后的也许未达到制定长度,但是却会依然输出,这就造成了资源的浪费,甚至导致文件的乱码! </span>
oos.write(bs,0,length);
}
<span style="color:#FF6666;">//一般,当输出流到达指定的1024时,会自动输出,但是也许到最后并未满1024,那么,就要用flush来使缓存中的额全部内容输出。</span>
oos.flush();
<span style="color:#FF0000;">// 必须关闭输入流!!不然太耗资源了!</span>
iis.close();
System.out.println("复制成功"+f.getName()+"成功");
}