文件输入输出流的相关操作和API

流是一套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();

}

}

 

你可能感兴趣的:(api,IO,文件输出出入)