字节输入流和输出流

我们知道计算机读取文件实际上读取的二进制的编码文件,Java在对文件的操作方面提供了很强大的功能.今天我们来说说

java读取二进制文件的字节输入流和字节输出流.

还是来看看代码吧,代码比较简单,如下截图

package Test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilterInputStream;
import java.io.IOException;
/*
 *   输出流就是从文件中写信息
 *   输入流就是从文件中读信息
 * 
 */

public class Demo {
   public static void main(String[] args) {
	File f=new File("word.txt");
	FileOutputStream  out=null;
	try {
		out=new FileOutputStream(f,false);//创建字符串输出对象.后面有一个bool值,表示在文件中追加信息.
		String str="你见过洛杉矶:凌晨四点的样子吗???";
		byte DataArraya[]=str.getBytes();//将字符串转换为字节数组
		try {
			out.write(DataArraya);//将字节流的数据写入到文件里面.
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if(out!=null) {
			try {
				out.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
     
	  //从文件里面读信息,使用的就文件输入流来看看代码
	   FileInputStream in=null;
	   try {
		in=new FileInputStream(f);//将上面代码创建的文件里面数据写入到我们的对象里面.输入流 读文件
		byte arr1[]=new byte[200];//创建字节缓冲区
		try {
			int len=in.read(arr1);//将字节数据读取到缓冲区,读入缓冲区域的字节数字
			System.out.println("文件里面的数据为:"+new String(arr1,0,len));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}//读取字节缓冲区的内容
		
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if(in !=null) {
			try {
				in.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	   
}
}

前面部分的代码,我们创建了一个字节输出流,向word.txt文件里面写入东西,后面的代码我们创建字节输入流,从文件里面读东西这里有几个方法需要大家的注意,

1.将字符串穿转换为字节数组的函数调用的式str.getBytes.

2.FileOutputStream向文件写入数据的函数,后面有两个参数,一个式一个文件对象,后面则是一个布尔数值,为真的话表示在后面追加信息.默认式false

3.从文件读信息使用的式字节输入流。从数据源流入到我们的程序我们称之为输入流。反之就是输出流.

4.输入流读取文件的时候有一个它返回的式一个数值,表示读取的长度.

4.newString构造方法将缓冲区的字节数转换为字符串输出,java虚拟机后台自动完成这个功能的。并不需要我们手动去实现.

猜你喜欢

转载自blog.csdn.net/hackerbaseing/article/details/89051993
今日推荐