字节流

来源:互联网 发布:thinkphp5.0项目源码 编辑:程序博客网 时间:2024/05/21 06:38

一:字节流

字节流主要操作 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);// 将内容转换为 StringSystem.out.println("长度:"+len);System.out.println("内容:"+str);}}





原创粉丝点击