当前位置 : 主页 > 编程语言 > java >

文件的字节输入输出流FileInputStream

来源:互联网 收集:自由互联 发布时间:2021-06-28
FileoutputStreamDemo.java package file_Stream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;public class FileoutputStreamDemo {/* * IO流的分类和 1.根据流向划分:输入,输出流 * 2.根
FileoutputStreamDemo.java
package file_Stream;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class FileoutputStreamDemo {
	/*
	 * IO流的分类和 1.根据流向划分:输入,输出流
	 * 2.根据单位划分:字节流(outputStream,inputStream),字符流(writer,reader)四大基流(都是抽象类)
	 * 
	 * 操作模板 1.创建源或者目标对象(挖井) 2.创建IO流对象(水管) 3.具体的IO操作;read和write 4.关闭资源 close();
	 */
	public static void main(String[] args) throws Exception {
		// 1.创建数据源
		File file = new File("file/BoyNextDoor.txt");
		// 2.创建IO流对象
		FileOutputStream out = new FileOutputStream(file,false);//true表示添加,默认或者false就是覆盖
		// 3.具体的IO操作
		//out.write(65);//void write(int b)把一个字节输出到文件中
		out.write("I AM AN ARTIST".getBytes());//void write(byte []b)把数组b全部输出到文件中     result: I AM AN ARTIST
		// out.write("Iamaartist".getBytes(), 0, 5);//void write(byte[] b, off, len)把数组中的数据从off索引位置开始,输出len长度个到文件中     result:Iamaa
		//out.write("Iamaartist".getBytes(), 0, "Iamaartist".length());//  result:Iamaartist
		// 4.关闭资源
		out.close();

	}
}
FileInputStreamDemo.java
package file_Stream;

import java.io.File;
import java.io.FileInputStream;
import java.util.Arrays;

public class FileInputStreamDemo {
	//演示文件字节输入流
public static void main(String[] args) throws Exception {
	//1.创建数据源
	File f=new File("file/BoyNextDoor.txt");
	//2.创建IO对象
	FileInputStream in=new FileInputStream(f);
	//3.具体操作
	/*
	  	read() 从此输入流中读取一个数据字节。 
	  	
 		int read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 
 		
 		int read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。 

	 * */
	
		/*int data=in.read();
		System.out.println(data);*/
	
		
	/*//文件中只有7个字节,所以数组后三位是0
		byte[] buffer=new byte[10];
		System.out.println(Arrays.toString(buffer));//[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
		int data=in.read(buffer);
		System.out.println(Arrays.toString(buffer));//[65, 66, 67, 68, 69, 70, 71, 0, 0, 0]
		System.out.println(data);//data返回的是文件中有的字节数。
*/		
		
	
		/*byte[] buffer=new byte[10];
		System.out.println(Arrays.toString(buffer));
		int data=in.read(buffer, 2, 6);
		System.out.println(Arrays.toString(buffer));//[0, 0, 65, 66, 67, 68, 69, 70, 0, 0]
		System.out.println(data);//6
*/
		
	byte []buffer=new byte[5];

	int len=-1;//表示当前读取的字节总数,如果为-1就是文件末尾了。
	
	 //len=in.read(buffer);表示当前读取的字节,当他不等于-1说明文件还没有读完
	 while( (len=in.read(buffer))!=-1){
		 String str=new String(buffer,0,len);
		 System.out.println(str);
	 }
	
	

	
	
		//4.关闭资源
		in.close();
}
}
上一篇:简易的文件拷贝
下一篇:跨域核心代码
网友评论