4-3 字节流之文件输出流FileOutputStream
6)FileOutputStream实现了向文件中写出byte数据的方法
package com.yxt.haha;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutDemo1 {
/**
* @param args
*/
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
//如果该文件不存在,则直接新建;如果存在,则删除后创建(如不想被清空掉则需要追加)
FileOutputStream out=new FileOutputStream("demo/out.dat");//构造方法后可以是文件名,文件路径或者接着追加到文件
//FileOutputStream out=new FileOutputStream("demo/out.dat",true);//如果不存在则创建;存在则追加内容
out.write('A');//写出了字符‘A’的低八位
out.write('B');//写出了字符‘B’的低八位
int a=10;//write只能写8位,那么写一个int需要写4次每次8位
out.write(a>>>24);
out.write(a>>>16);
out.write(a>>>8);
out.write(a);
byte[] gbk="中国".getBytes("gbk");
out.write(gbk);
out.close();
IOUtil.printHex("demo/out.dat");
}
public static void copyFile(File srcFile,File desFile) throws IOException{//复制文件
if(!srcFile.exists())
throw new IllegalArgumentException(srcFile+"文件不存在");
if(!srcFile.isFile())
throw new IllegalArgumentException(srcFile+"不是文件");
FileInputStream in=new FileInputStream(srcFile);
FileOutputStream out=new FileOutputStream(desFile);
byte[] buf=new byte[8*1024];
int b;
while((b=in.read(buf, 0, buf.length))!=-1){
out.write(buf,0,b);
out.flush();
}
in.close();
out.close();
}
}