文件复制,把数据从一个文件读出,写到另一个文件中(基本数据类型)
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class fileCopy {
public static void main(String[] args) {
String dir1="D:\\a\\";//待读文件地址
String dir2="D:\\a\\b\\";//待写文件地址
String fileName="a.txt";//文件名
FileInputStream in=null;
FileOutputStream out =null;
try {
in= new FileInputStream(dir1+fileName);
out =new FileOutputStream(dir2+fileName);
//读写方式1
// byte buf[]=new byte[1024];//溢出
// in.read(buf);
// out.write(buf);
//读写方式2
byte buf[]=new byte[512];
int len;
while((len=in.read(buf))!=-1){
//拷贝1
// out.write(buf);//把原来上一次的拷贝
//文件加密原理:例如下面或者弄一段字符串密钥
for(int i=0;i<len;i++){
buf[i]+=1;
}
//拷贝2
out.write(buf,0,len);//读了多少写多少
}
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();//文件找不到抛异常,网页上运行异常不会抛给用户
}finally{//能把数据关闭
try {
if(in!=null){
in.close();
}
if(out!=null){
out.close();
}
} catch (IOException e) {
//因为以后开发的代码在网页上运行,不重要的问题可以不用返回,但是文件关闭不了可能会导致信息泄露,重要的问题一定要用这种方式告诉用户。
throw new RuntimeException("文件关闭失败,数据可能关闭失败");
}
}
}
}