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 + 默认编码表
总结
图片源文件下载
相关文章推荐
- Java回炉之File
- java内部类
- Java回炉之异常处理
- java内部类
- Java基础之switch语句
- 线程池——JAVA并发编程指南
- JAVA反序列化exp及使用方法
- java IO流(一)
- java 包详细介绍
- Java Servlet 工作原理
- 第三个spring冲刺第3天
- cannot be cast to javax.servlet.Servlet
- 开发维护大型 Java 项目的建议
- Java:单例模式的几种写法
- leetcode 003 Longest Substring Without Repeating Characters(java)
- java 静态方法调用非静态内部类报错
- kettle 如何使用java代码
- JAVA-抽象工厂模式
- SpringMVC中Controller和RestController
- JDK环境变量配置