流
流是一套API,提供了各种数据类型数据的读写API,流是一套可拓展的API,通过拓展的API,支持各种数据的读写。
流是两个抽象类拓展的:
-InputStream输入流
- read()
read(byte[] buf)
-OutputStream输出流
- writr()
################################################################################
测试代码:(向文件里写入数据)
package day03;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo4 {
public static void main(String[] args) throws IOException {
FileOutputStream fos=new FileOutputStream("fos.dat",true);
fos.write("helloword\n".getBytes());
fos.write("helloword\n".getBytes());
fos.write("helloword\n".getBytes());
FileInputStream fis=new FileInputStream("fos.dat");
int d=-1;
while((d=fis.read())!=-1){
System.out.print((char)d);
}
fos.close();
}
}
##################################################################################
测试代码“
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 读一个文件的数据给另外一个文件
*
*/
public class Demo5 {
public static void main(String[] args) throws Exception {
FileInputStream in=new FileInputStream("fos");
FileOutputStream out=new FileOutputStream("dat");
int b;
while((b=in.read())!=-1){
out.write(b);
}
in.close();
out.close();
}
}
#####################################################################################
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.stream.FileImageInputStream;
public class Demo6 {
/*
* 加个缓冲数组,效率提升很快
*
*/
public static void main(String[] args) throws IOException {
FileInputStream in= new FileInputStream("fos.dat");
FileOutputStream out=new FileOutputStream("fis.txt");
int n;
byte[] buf=new byte[20];
//一次性读写
while((n=in.read(buf))!=-1){
out.write(buf);
}
in.close();
out.close();
}
}
##########################################################################################
测试代码:
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo7 {
public static void main(String[] args) throws IOException {
FileOutputStream fos=new FileOutputStream("fos.dat");
//创建缓冲输出流。必须依赖节点流fos
BufferedOutputStream bos=new BufferedOutputStream(fos);
//bos 的写出方法是先将数据写道缓冲区
//当缓冲区满了再写到文件中
int i=0;
//while(i<1000){
bos.write("helloworld\n".getBytes());
//缓冲区先检查缓冲区是否有数据,如果有数居,将数据写道文件中,在关闭文件。
//flush方法作用:检查缓冲区是否有数据,如果有数居将数据强行写文件
bos.flush();
System.out.println(i);
bos.close();
}
}