一、OutputStream用法
OutputStream是java.io包中的一个抽象类,是所有输出流的超类。OutputStream主要用于将数据从内存中的Java对象输出到外部文件或者网络中。它是Java I/O的一部分,用于将流输出到文件或者网络上。
在使用OutputStream时,需要先创建一个OutputStream子类的对象,如FileOutputStream或ByteArrayOutputStream等,然后使用write()方法将数据写入到OutputStream中,最后使用flush()方法将数据从内存中刷新到磁盘或网络中。
二、OutputStream转String
OutputStream是一个输出流,不能直接转化为字符串,但可以先将其输出到ByteArrayOutputStream中,然后将ByteArrayOutputStream转换为字符串。
OutputStream output = new FileOutputStream("example.txt"); output.write("hello world".getBytes()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len; while((len = output.read(buffer)) != -1) { baos.write(buffer, 0, len); } String str = baos.toString();
三、OutputStream类的方法
OutputStream类有很多方法可以使用,包括write()方法将数据写入流中,close()方法关闭流等。下面我们来了解flush()方法。
四、flush()方法作用
flush()方法的作用是将OutputStream中的数据刷新到外部文件或者网络中。在进行输出时,为了提高效率,Java会将输出的数据缓存在内存中,当缓存区满或者使用flush()方法时,数据才会被写入外部文件或网络中。
例如,在使用FileOutputStream进行文件输出时,如果不使用flush()方法,当JVM退出时,数据可能不会被完全写入到文件中,导致文件损坏或者数据丢失。
下面是一个使用OutputStream及flush()方法的示例:
OutputStream output = new FileOutputStream("example.txt"); output.write("hello world".getBytes()); output.flush();
五、FileOutputStream用法
FileOutputStream是OutputStream的一个子类,可以用于将数据输出到文件中。FileOutputStream使用时需要先指定输出的文件名,然后使用write()方法将数据写入到输出流中即可。
下面是一个使用FileOutputStream及flush()方法的示例:
FileOutputStream fos = new FileOutputStream("output.txt"); String str = "hello world"; byte[] bytes = str.getBytes(); fos.write(bytes); fos.flush(); fos.close();