import java.io.*;
public class ReadFile {
public static void main(String args[]){
ReadFile rf=new ReadFile();
try{
rf.copy("d:\\fusion32.rar","d:\\32.rar");
}
catch(Exception e){
e.printStackTrace();
}
}
public void copy(String fileName,String copyFileName) throws Exception{ BufferedReader reader=new BufferedReader(new FileReader(fileName));
BufferedWriter writer=new BufferedWriter(new FileWriter(copyFileName));
String str=null;
str=reader.readLine();
while(str!=null)
{
writer.write(str+"\r\n");
str=reader.readLine();
}
reader.close();
writer.close();
}
}拷贝的rar文件不能打开,长度有问题,请问是怎么回事?
如果有FileInputStream,FileOutputStream就没有问题。
public class ReadFile {
public static void main(String args[]){
ReadFile rf=new ReadFile();
try{
rf.copy("d:\\fusion32.rar","d:\\32.rar");
}
catch(Exception e){
e.printStackTrace();
}
}
public void copy(String fileName,String copyFileName) throws Exception{ BufferedReader reader=new BufferedReader(new FileReader(fileName));
BufferedWriter writer=new BufferedWriter(new FileWriter(copyFileName));
String str=null;
str=reader.readLine();
while(str!=null)
{
writer.write(str+"\r\n");
str=reader.readLine();
}
reader.close();
writer.close();
}
}拷贝的rar文件不能打开,长度有问题,请问是怎么回事?
如果有FileInputStream,FileOutputStream就没有问题。
rar是二进制的噻!
所以说要用字节流!
rar是二进制的
要用字节流
public static void copyFile(File source, File dest){
byte [] d = new byte[1024];
try{
FileInputStream fin = new FileInputStream(source);
FileOutputStream fout = new FileOutputStream(dest);
while(fin.read(d)!=-1){
fout.write(d);
}
fout.close();
fin.close();
}
catch(Exception e){
e.printStackTrace();
}
}
因为所有的文件都可以看作是字节的组合,文本文件也不例外