字节流

一:字节流

字节流主要操作 byte 类型数据,一byte 数组为准,主要操作类时 OutputStream 类 和 InputStream 类。但是,OutputStream 和 InputStream 类都是抽象类,若想使用此类,则首先要通过子类实例化对象,如果现在操作的是一个文件,则可以使用FileOutputStream 和 FileInputStream 类。

字节流的输出和输出时相对于字节流对象来说的,字节输出流,就是对象的中的内容输出,写入文件或者进行别的操作。字节输入流,就是从文件或者别的地方获取内容读入到对象。

1、字节输出流

将一个 String 字符串写入text.txt 文件

范例1:

package haizhu.com.file;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class OutputStreamDemo01 {
	public static void main(String[] args) throws Exception{
		File f = new File("d:"+File.separator+"text.txt");
		OutputStream out = new FileOutputStream(f);
		String str = "Hello world !";
		byte b[] = str.getBytes();
		out.write(b);
		out.close();
	}
}
如果这个txt文件中有内容,就要使用追加 的方法进行内容的写入,不然就会将原有的内容擦出了,这不是我们想要的,追加内容的方法如下:

范例2:

package haizhu.com.file;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class OutputStreamDemo01 {
	public static void main(String[] args) throws Exception{
		File f = new File("d:"+File.separator+"text.txt");
		OutputStream out = new FileOutputStream(f,true);			// true表示追加
		String str = "\r\n To learn or not to learn !";				// \r\n 表示换行
		byte b[] = str.getBytes();
		out.write(b);
		out.close();
	}
}

2、字节输入流

如何将上面的写入text.txt 文件的内容读取出来呢?看下面:

范例3:

package haizhu.com.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

public class OutputStreamDemo01 {
	public static void main(String[] args) throws Exception{
		File f = new File("d:"+File.separator+"text.txt");
		InputStream input = new FileInputStream(f);
		byte b[] = new byte[(int)f.length()];					// 根据文件大小开辟数组空间
		int len = input.read(b);								// 将内容输出到数组,并返回长度
		String str = new String(b,0,len);						// 将内容转换为 String
		System.out.println("长度:"+len);
		System.out.println("内容:"+str);
	}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值