java中的一段代码

来源:百度知道 编辑:UC知道 时间:2024/06/14 12:41:09
package a;
import java.io.*;

public class pcclass{
public static void main (String[] args)
FileInputStream inFile;
FileOutputStream outFile;
if(args.length!=2){
System.out.println("Usage:java Example filename1 filename2");
return;
}
try {
inFile=new FileInputStream(args[0]);
outFile=new FileOutputStream(args[1]);
}catch (FileNotFoundException fe){
System.out.println(fe);
return;
}
try{
int c;
String sContent="";
while((c=inFile.read())!=-1){
outFile.write(c);
}
}catch (IOException ie){
;
System.out.println();
}
}
}
这段代码中的String sContent="";是干什么的?
还有while((c=inFile.read())!=-1){
outFile.write(c);
这段代码有什么意义?
请高手耐心解答?

这段程序的功能是实现把filename1文件的内容拷贝到filename2文件,文件名是从命令行读取的.
首先 从命令行读取两个文件名,args.length!=2,说明参数输入有错误;
如果没有错误则创建输入输出流;
inFile.read())!=-1说明文件没有到结尾,继续读文件的内容,直到=-1为止;
String sContent=""; 没有起作用,可以删除.

String sContent="";没屁用,没用到!
(c=inFile.read())!=-1:
inFil.read()就是游标往下移一位,如果移一位发现为null,则返回-1循环便退出
一直读到文件的末尾就会返回-1,至于c,不应该用int型的,而且outFile.write(c); 这样写不知道是否正确...反正outFile.write()是写入文件,不过应该用二进制!而这里是用的int型的c!整个代码的意思就是将你输入的两个路径下的文件读取其中一个的内容写入到另一个文件,在写入的时候应该把读取出来的字节转换成二进制,速度更快而且出错几率更小!
最后应该inFile.close();outFile.close();将其流管道关闭!切记!切记!

String sContent="";没用
while((c=inFile.read())!=-1){
outFile.write(c);
如果文件不有内容,便循环写入另一个文件

String sContent="";例子中没用到这个变量;
至于while((c=inFile.read())!=-1){
outFile.write(c); 则是把infile中的内容写入outFile中啊

if(args.length!=2){
System.out.println("Usage:java Example filename1 filename2");
return;
}
让你输入两个文件名,如果没有输入两个文