Java字节流

所谓流,指的同一台或者网络中不同计算机之间有序运动着的数据序列,这些不同来源和目标的数据都统一抽象为数据里。
1.FileInputStream提供以字节形式读取磁盘上文件等内容。

package com.test.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
/**
 * 文件输入流,从文件读取数据到程序中
 * @author 守望幸福
 *
 */
public class FileInputStreamTest {
	public static void main(String[] args) throws IOException {
		String path="d:\\fileTest\\";
		String fileName="file.txt";
		File f=new File(path);
		if(!f.exists()){//判断路径是否存在
			f.mkdir();
		}
		f=new File(path+fileName);
		if(!f.exists()){//判断文件是否存在
			f.createNewFile();
		}
		FileInputStream in=new FileInputStream(f);
		int n=512;
		byte buffer[]=new byte[n];
		System.out.println("文件长度:"+f.length());
		while(in.read(buffer,0,n)!=-1&& n>0){//一次读取512字节
			System.out.println("剩余字符长度:"+in.available());
			System.out.println(new String(buffer));
		}
		in.close();
	}
}




2. FileOutPutStream类提供以字节流形式输入的文件中。

package com.test.file;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 字节输出流
 * @author 守望幸福
 *
 */
public class FileOutPutStreamTest {
	public static void main(String[] args) throws IOException {
		FileOutputStream out=new FileOutputStream(new File("d:\\fileTest\\file.txt"));
		byte[] buff={1,2,3,4,5,6,'1','b','a','d','f','g','r','h','q','w'};
		out.write(buff);
		out.close();
	}
	
}




3.缓存输入流与输出流

   BufferedInputStream

构造方法摘要
BufferedInputStream (InputStream in)
创建一个 BufferedInputStream 并保存其参数,即输入流 in ,以便将来使用。
BufferedInputStream (InputStream in, int size)
创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in ,以便将来使用。

BufferedOutPutStream

构造方法摘要
BufferedOutputStream (OutputStream out)
创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
BufferedOutputStream (OutputStream out, int size)
创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。
package com.test.file;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * 缓存流必须配合InputStream对象和OutPutStream对象使用
 * 为上述两个对象添加缓存的功能
 * 
 * 从bin文件读取数据,保存到bout文件中
 * 
 * @author 守望幸福
 *
 */
public class BufferedStreamTest {
	public static void main(String[] args) throws IOException {
		FileInputStream in=new FileInputStream("d:\\fileTest\\bin.txt");
		FileOutputStream out=new FileOutputStream("d:\\fileTest\\bout.txt");
		BufferedInputStream bin=new BufferedInputStream(in);
		BufferedOutputStream bout=new BufferedOutputStream(out);
		byte[] buff=new byte[128];
		while(bin.read(buff)>0){
			bout.write(buff);
		}
		bout.flush();
		bout.close();
		bin.close();
	}
}




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值