关于java类文件读取 的问题
我想把一个java类文件读出,然后拷贝到另外一个文件:
public void copy(String sourcePath){
int b;
try{
String filename=this.getSourceFileName(sourcePath);
copyFile=new File(copyPath+fileFullName);
FileInputStream in= new FileInputStream(sourcePath);
FileOutputStream out=new FileOutputStream(copyFile);
while((b=in.read())!=-1)
{
out.write(in.read());
}
}
catch(Exception e){
System.out.println(e.toString());
}
}
结果写入的文件中只是把远文件的偶数字符输入了,还没有换行,请问是什么问题?
在问一个,读的方法与原文件是什么类型与关系吗?比如说 .java和 .ddl?谢谢
问题点数:30、回复次数:3Top
1 楼stars_of_leo(呆呆虫)回复于 2004-05-01 05:27:30 得分 20
public void copy(String sourcePath){
int b;
try{
String filename=this.getSourceFileName(sourcePath);
copyFile=new File(copyPath+fileFullName);
FileInputStream in= new FileInputStream(sourcePath);
FileOutputStream out=new FileOutputStream(copyFile);
while((b=in.read())!=-1) //你这里读了一次(奇数字符),这个没被写入
{
out.write(in.read()); //这里又读了一次文件,只写了这一次读的内容
}
}
catch(Exception e){
System.out.println(e.toString());
}
}
给你改了一下,测试过了,没问题。
public void copy(String sourcePath){
int b = 0;
byte[] data = new byte[500];
try{
String filename=this.getSourceFileName(sourcePath);
copyFile=new File(copyPath+fileFullName);
FileInputStream in= new FileInputStream(sourcePath);
DataInputStream is = new DataInputStream(in);
FileOutputStream out=new FileOutputStream(copyFile);
DataOutputStream os = new DataOutputStream(out);
while((b=is.read(data))!= -1)
{
out.write(data);
}
}
catch(Exception e){
System.out.println(e.toString());
}
}Top
2 楼sagittarius1979(※2+2=5※)回复于 2004-05-01 08:46:56 得分 10
就是楼上说的
。Top
3 楼changewang(change)回复于 2004-05-01 22:45:12 得分 0
哈哈~~~多谢~~~太感激了,呵呵~~~~Top




