您的位置:首页 > 编程语言 > Java开发

Java回炉之IO流(一)

2015-12-09 23:33 351 查看

Java回炉之IO流(一)

Java回炉之IO流一
InputStream
FileInputStream

BufferedInputStream

OutputStream
FileOutputStream

BufferedOutputStream

Reader

Writer

转换流

总结

InputStream

字节输入流

FileInputStream

构造方法

FileInputStream(File file):通过文件创建

FileInputStream(String name):通过文件名创建

FileInputStream(FileDescriptor fdobj):

读数据

int read():一次读一个字节作为返回值(每读一次指针后移,返回-1说明到达文件末尾)

int read(byte[] b):一次读一组字节放入参数中,返回值为实际读取的字节数(每读一次指针后移,返回-1说明到达文件末尾)

关闭

close()

BufferedInputStream

构造方法

BufferedInputStream(InputStream os):使用默认缓冲区大小

BufferedInputStream(InputStream os,int size):指定默认缓冲区大小

读数据

int read():读一个字节

int read(byte[] b):读一组字节

关闭

close():会把构造器中的参数Stream一起close

OutputStream

字节输出流

FileOutputStream

构造方法

FileOuputStream(File file):根据文件创建文件字节输出流

FileOutputStream(File file,boolean append):第二个参数为true为追加模式

FIleOutputStream(String name):根据文件名创建字节输出流

在物理上创建文件、创建文件字节输出流对象、把流对象指向文件

写数据(物理上写入)

write(int b):写一个字节

write(byte[] b):写一组字节

write(byte[] b,int off,int length):写一组字节的一部分

write(“\r\n”.getBytes()):写入换行(\r\n-windows \n-linux \r-Mac)

关闭

close():关闭流并通知系统释放资源

异常处理

[code]FileOutputStream fos = null;
try {
    // fos = new FileOutputStream("z:\\fos4.txt");
    fos = new FileOutputStream("fos4.txt");
    fos.write("java".getBytes());
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
} finally {
    // 如果fos不是null,才需要close()
    if (fos != null) {
        // 为了保证close()一定会执行,就放到这里了
        try {
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


BufferedOutputStream

构造方法

BufferedOutputStream(OutputStream os):使用默认缓冲区大小

BufferedOutputStream(OutputStream os,int size):指定默认缓冲区大小

本类只提供缓冲作用,流处理通过构造器的参数提供

写数据

write(int b):写一个字节

write(byte[] b):写一组字节

write(byte[] b,int off,int length):写一组字节的一部分

write(“test”.getBytes());

关闭

close():会把构造器中的参数Stream一起close

Reader

字符输入流

- BufferReader

- 字符缓冲输入流

-
new BufferedReader(new FileReader("test.txt"));


- read(char)

- read(char[])

- readLine():读一行字符

- close()

Writer

字符输出流

- BufferedWriter

- 字符缓冲输出流

-
new BufferedWriter(new OutputStreamWriter(new FileOutputStream("test.txt")));


-
new BufferedWriter(new FileWriter("test.txt"));


- write()

- newLine():换行

- flush()

- close()

转换流

转换流其实是字符流

1. OutputStreamWriter

- 把字节流转换成字符流

- OutputStreamWriter(OutputStream out):用默认编码表把字节流转换为字符流

- OutputStreamWriter(OutputStream out,String charsetName):用指定编码表把字节流转换为字符流

- write(int c):写一个字符

- write(char[] cbuf):写一个字符数组

- write(char[] cbuf,int off,int len):洗衣歌字符数组的一部分

- write(String str):写一个字符串

- write(String str,int off,int len):写一个字符串的一部分

- flush():从缓冲区刷入文件

- close()

InputStreamReader

InputStreamReader(InputStream in):用默认编码

InputStreamReader(InputStream in,String charsetName):用指定编码

read():一次读取一个字符

read(char[] chs):一次读取一个字符数组

close()

FileWriter

FileOutputStream + 默认编码表

FIleReader

FileInputStream + 默认编码表

总结




图片源文件下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: