java如何使用文件字节输出流类:FileOutputStream ?

Python011

java如何使用文件字节输出流类:FileOutputStream ?,第1张

    文件字节输出流关联指定文件路径的文件,数据通过文件字节输出流以字节为单位输出并保存到文件中。文件字节输出流继承自OutputStream类,并实现OutputStream类的各种方法

文件字节输出流的构造方法语法如下:

语法1:以File对象为参数创建FileOutputStream实例

new FileOutputStream(File file)1

语法2:以文件对象的绝对路径为参数创建FIleOutputStream实例

new FileOutputStream(String filepath)

呃,时隔几年,不知道你解决问题没有。首先应该明白,System.out.println(OBJ)会自动调用OBJ.toString()方法。查阅官方文档表示,ByteArrayInputStream类中重写了toString( )方法,Converts the buffer's contents into a string decoding bytes using the platform's default character set.即 “使用平台的默认字符集将缓冲区的内容转换为字符串解码字节。

但是 FileOutputStream类中并未重写toString( ) 。使用的是从Object类中继承下来的。所以你能看到 obj@xxx 格式的输出。

FileOutputStream

文件字节输出流

FileOutputStream的构造方法

FileOutputStream(File f)

打开指定File对象描述的文件的输出流,进行写操作

如下:

import java.io.File

import java.io.FileNotFoundException

import java.io.FileOutputStream

import java.io.IOException

/**

* 用于向文件中写数据的输出流

* FileOutputStream

* @author Administrator

*

*/

public class FileOutputStreamDemo {

public static void main(String[] args) throws FileNotFoundException {

/**

* 向文件中写信息

*

* FileNotFoundException

* 当我们给定的File对象描述的是一个目录时

* 或File对象描述的是一个文件,但是在创建时不成功

* 这两种情况会引发FileNotFoundException

*/

File file = new File("fos.dat")

FileOutputStream fos = null

try {

/**

* FileOutputStream(File file,booelan append)

* 重载的构造方法

* 当append为true时,通过该输出流写出的数据是追加

* 到file文件末尾的。

*/

// fos = new FileOutputStream(file,true)

// fos = new FileOutputStream("fos.dat")

fos = new FileOutputStream("fos.dat",true)

// fos.write('A')//写一个字节

// fos.write('B')

// int a = 121231231

// fos.write(a>>>24)

// fos.write(a>>>16)

// fos.write(a>>>8)

// fos.write(a)

/**

* 对一个文件进行二次写操作时,文件的大小会以

* 最后这次写操作总共写的内容为准,会把文件之前

* 的数据全部废弃掉。

*/

fos.write('C')

} catch (IOException e) {

e.printStackTrace()

/**

* 面试常问:final finally的区别

*/

} finally{

try {

if(fos != null){

fos.close()

}

} catch (IOException e) {

e.printStackTrace()

}

}

}

}