IO流(二)
来源:互联网 发布:电脑版阅读软件 编辑:程序博客网 时间:2024/06/06 10:03
文件的字节输入流:
FileInputStream(String name);
字节输出流
FileOutputStream();
读数据的两种方式:
1)public int read(); 一次读取一个字节.
2)public int read(byte [] b); 一次读取一个字节数组.
字节缓冲流:更高效的一种流
字节缓冲输入流:BufferedInputStream
构造方法: public BufferedInputStream(InputStream in)
指定默认缓冲区大小创建字节缓冲输入流对象
字节缓冲输出流:BufferedOutputStream
构造方法: public BufferedOutputStream(OutputStream out)
默认缓冲区大小创建字节缓冲输出流对象.
注意: 缓冲流只是提供一个缓冲区,针对IO进行实现数据的传输实际是通过底层基本流进行实现的,所以缓冲流不能直接对文件操作
flush()和close()方法的区别?
flush():刷新缓冲区的流,强迫将缓冲字节都写到该流中,刷新之后是可以写数据的.
close():关闭流对象所指向指向的这个资源文件,一旦关闭,就写不进去数据了.
字符输入流: 字节输入流+编码格式(默认GBK)
public InputStreamReader(InputStream in,charset sc) ;
字符输出流:Writer:是一个抽象类
使用的是该抽象类的子类:OutputStreamWriter------>字符转换流:可以将字节输出流转换字符流
public OutputStreamWriter(OutputStream out,Charset cs):创建一字符输出转换流对象,指定编码格式
字节输出流+编码格式---->字符输出流
编码格式:使用平台的默认编辑集进行编码:GBK
public OutputStreamWriter(OutputStream out) ;
字符输入流读数据的方式:
public int read():一次读取一个字符
public int read(char[] chs):一次读取一个字符数组
关于字符输出流写数据的方法:
public void write(int c):写单个字符
public void write(char[] cbuf):写一个字符数组
public abstract void write(char[] cbuf,int off,int len):写入字符数组的一部分
public void write(String str):写字符串
public void write(String str, int off,int len):写字符串的一部分
使用字符转换流进行操作数据的时候:字节流+编码格式
并且在书写代码名称非常长,Java提供了以中更简单的类:便捷类:
字符转换输入流:InputStreamReader----->FileReader FileReder(String fileName)
字符转换输出流:OutputStreamWriter---->FileWriter
字符缓冲输入流
BufferedReader
BufferedReader(Reader in) :创建默认缓冲大小
字符流为了提高读写速度,Java就提供了一个字符缓冲流的类:
BufferedReader:字符缓冲输入流
BufferedWriter:字符缓冲输出流
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
可以指定缓冲区的大小,或者接受默认的大小
构造方式:
public BufferedWriter(Writer out):创建默认缓冲区大小的一个字符缓冲输出流
FileWriter(String fileName)
关于字符缓冲输入流的特有功能:
BufferedWriter:
public void newLine():写入一个换行符号
BufferReader:
public String readLine():一次读取一行
阅读全文
0 0
- IO流循序渐进二
- IO流之二
- IO流(二)
- IO流系列(二)
- IO流(二)
- IO流之二
- IO流(二)
- IO流(二)
- IO二:字符流
- IO流学习(二)
- IO流(二)
- java IO流(二)
- IO流学习二
- io流(二)
- Java IO流(二)
- IO流(二)
- IO流(二)
- Java io 输入输出流(二)
- 原型模式
- elasticsearch启动报错
- AutoMapper官方文档(四)【扁平化(分割)映射】
- java中实现Excel的导入与导出
- Android本地存储总结
- IO流(二)
- iOS 多线程小结
- JAVA基础——初识JAVA(一)(第一个java程序)
- Go语言报错cannot define new methods on non-local type
- Spring整合MyBatis下@Transactional无效解决方案
- 两年计划
- 博客正式开通,踏入IT之路。
- Java 十六进制(Hex)与byte数组之间的转换
- SpringBoot(三)