一,字节输入输出流:每次只操作一个字节(读取或写入),字节操作流,默认每次执行写入操作会直接把数据写入文件.
1.io流的分类:
根据处理数据类型的不同分为:字符流和字节流;
根据数据流向不同分为:输入流和输出流;
字节是数据传输的基本单位,文件内容也是以字节为单位存储的,从文件中把数据读到程序为输入流,从程序把数据写到文件称为输出流,都是相对于程序;
2.字节输入流:InputStream:所有字节输入流的超类,向程序输入使用FileInputStream;
3.字节输出流:OutputStream:此为抽象类,所有输出字节流的超类,向文件中输出使用FileOutputStream类;
public static void main(String[] args) throws IOException {
File f1=new File("D:/aa.txt");
f1.createNewFile();
OutputStream out=new FileOutputStream(f1);
String msg="雷坤恒是个大帅逼";
byte[] by=msg.getBytes();//获取字符串对应解析后的byte数组
out.write(by);//把byte数组写入文件
}
4.综合案例:
public static void main(String[] args) throws IOException {
File f1=new File("D:/aa.txt");
File newf1=new File("D:/aa/a.txt");
//创建项目的文件
newf1.createNewFile();
//定义输入输出流 使用输入流读取内存 使用输出流写入内容
InputStream in=new FileInputStream(f1);
OutputStream out=new FileOutputStream(newf1);
//循环读取文件内容,同时写入指定的文件中
byte[] buffer=new byte[10];
int n=0;
while(true){
//循环文件,内容放入buffer数组中,返回的是实际读取的字节数
n=in.read(buffer);
if(n!=-1){
out.write(buffer,0,n);
}else{
break;
}
}
}