本帖最后由 贾存双 于 2012-7-18 00:05 编辑
import java.io.* ;
public class Copy{
public static void main(String args[]){
if(args.length!=2){
System.out.println("您输入的参数不正确!") ;
System.out.println("格式为:java Copy 源文件路径 目标文件路径") ;
System.exit(1) ;
}
File f1 = new File(args[0]) ;
File f2 = new File(args[1]) ;
if(!f1.exists()){
System.out.println("源文件不存在!") ;
System.exit(1) ;
}
if(!f2.exists()){
System.out.println("源文件不存在!") ;
System.exit(1) ;
}
//InputStream input = null ; 把 input 和 out 在这声明是正确的,这四句注释掉的是写法正确的,try里面没注释掉的写法是错误的。
//OutputStream out = null ;
try{
//input = new FileInputStream(f1) ;
//out = new FileOutputStream(f2) ;
InputStream input = new FileInputStream(f1) ; 为什么在try里面这实例化就是错误的?为什么要在try 外面声明才可以???
OutputStream out = new FileOutputStream(f2) ;
}catch(Exception e){
e.printStackTrace() ;
}
if(f1!=null && f2!=null){
int temp = 0 ;
try{
while((temp=input.read()) != -1){
out.write(temp) ;
}
System.out.println("拷贝完成 ! ") ;
}catch(Exception e){
e.printStackTrace() ;
System.out.println("拷贝失败! ") ;
}
try{
input.close() ;
out.close() ;
}catch(Exception e){
e.printStackTrace() ;
}
}
}
}
错误结果为:
E:\io\Stream\Copy\Copy.java:31: 错误: 找不到符号
while((temp=input.read()) != -1){
^
符号: 变量 input
位置: 类 Copy
E:\io\Stream\Copy\Copy.java:32: 错误: 找不到符号
out.write(temp) ;
^
符号: 变量 out
位置: 类 Copy
E:\io\Stream\Copy\Copy.java:40: 错误: 找不到符号
input.close() ;
^
符号: 变量 input
位置: 类 Copy
E:\io\Stream\Copy\Copy.java:41: 错误: 找不到符号
out.close() ;
^
符号: 变量 out
位置: 类 Copy
4 个错误 |
|