昆明java培训
达内昆明广州春城路

18487146383

热门课程

java IO流之字节输出流

  • 时间:2016-11-11
  • 发布:昆明Java培训
  • 来源:博客园

昆明Java培训班的老师今天给大家讲字节输出流(OutputStream)。

输出:将内存中的数据写入磁盘文件中

OutputStream类是Java IO API中所有输出流的基类,主要是将内存中的数据输入到目标媒介中。

public abstract class OutputStream implements Closeable, Flushable {

//写入一个字节到stream中

public abstract void write(int b) throws IOException;

//把字节数组中所有数据写入到输出流中

public void write(byte b[]) throws IOException {

write(b, 0, b.length);

}

//把字节数据中从offset位置开始,length个字节的数据写入到输出流。

public void write(byte b[], int off, int len) throws IOException {

}

//方法将所有写入到OutputStream的数据冲刷到相应的目标媒介中,即使所有数据都写入到了FileOutputStream,这些数据还是有可能保留在内存的缓冲区中。通过调用flush()方法,可以把缓冲区内的数据刷新到磁盘

public void flush() throws IOException {

}

//结束数据写入时,需要关闭OutputStream

public void close() throws IOException {

}

}

FileOutputStream 将数据写入文件

够造函数:FileOutputStream(String ame, boolean append)创建一个向具有指定name的文件中写入数据的输出文件流。(在文件末尾追加写入)

FileOutputStream(String ame)创建一个向具有指定名称的文件中写入数据的输出文件流。(在文件开头重新写入)

1 //write(byte[] b)将b.length个字节从指定的byte数组写入此输出流

2    public static void writeByte() throws IOException{

3        OutputStream os=new FileOutputStream("E:\\javaTest\\1.txt");

4        String str="中国";

5        os.write(str.getBytes());

6        //flush()刷新此输出流并强制写出所有缓冲的输出字节。

7        os.flush();

8        //close() 1、将流对象变为垃圾,便于jvm垃圾回收机制回收2、通知系统释放与该文件相关的资源

9        os.close();

10    }

11    //write(int b) 将指定的字节写入此输出流。

12    public static void writeInt() throws IOException{

13        OutputStream os=new FileOutputStream("E:\\javaTest\\1.txt");

14        //我们都知道计算机磁盘存入的是二进制数据,在这里将97当作底层的二进制数据写入磁盘,当我们通过记事本打开文件时,

15        //该文件会根据ASCII字码表进行解码所以我们看到的是字符"a"

16        os.write(97);

17        os.flush();

18        os.close();

19    }

20    //write(byte[] b, int off, int len)将指定byte数组中从偏移量off开始的len个字节写入此输出流。

21    public static void writeOffLen() throws IOException{

22        OutputStream os=new FileOutputStream("E:\\test\\javaIo\\1.txt");

23        byte [] bytes="中国".getBytes();

24        os.write(bytes, 0, bytes.length);

25        os.flush();

26        os.close();

27    }

BufferedOutputStream字节输出(写)缓冲流

字节流一字读写一个数组的速度明显比一次读写一个字节的速度快,这是因为加入了数组缓冲的效果,java设计的本身也考虑到了这种情况(装饰设计模式)所以提供了字节缓冲流(BufferedOutputStream)。该流仅提供缓冲区,是为提高读写效率而设计的。真正操作文件还是需要基本流对象来实现。BufferedOutputStream是OutputStream的子类具有一切父类的方法。

public static void bufferOutPutStreamTest() throws IOException{

BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("E:\\javaTest\\5.txt"));

bos.write("中".getBytes());

bos.flush();

bos.close();

}

DataOutputStream(基本数据输出流):数据输出流允许应用程序以适当方式将基本Java数据类型写入输出流中。该类是FileOutputStream类的子类。该类提供了写入基础数据类型的方法。

//写数据了

dos.writeByte(10);

dos.writeShort(100);

dos.writeInt(1000);

dos.writeLong(10000);

dos.writeFloat(12.34F);

dos.writeDouble(12.56);

dos.writeChar('a');

dos.writeBoolean(true);

上一篇:java IO流之字节输入流
下一篇:字节输入流与字节输出流

java单例模式的实现方式

MVC模式实现登录以及增删改查之登录

字节输入流与字节输出流

java IO流之字节输出流

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货