InputStream 和 Reader(字节流和字符流)
来源:互联网 发布:菜的网络意思 编辑:程序博客网 时间:2024/06/02 06:18
InputStream 和Reader 是所有输入流的抽象基类,本身并不能创建实例来执行输入,但它们将成为所有输入流的模板,所以它们的方法是所有的输入流方法都可以用的。
InputStream 和 Reader 都是抽象类,现在实现它们的文件输入流(均为字节流):FileInputStream 和 FileReader来演示:
FileInputStream:
public class FileInputStreamTest {public static void main(String[] args) {try (FileInputStream fis = new FileInputStream("C:/Users/Administrator/Workspaces/MyEclipse Professional 2014/JavaTest/src/com/code_15_3/FileInputStreamTest.java")) {byte[] bbuf = new byte[100]; //定义100字节int hasRead = 0; while ((hasRead = fis.read(bbuf)) > 0) { //100字节无法读取全部内容,故会继续移动read的指针,循环多次,直到read()返回-1System.out.println(new String(bbuf, 0, hasRead)); /* if (fis.markSupported()) // 判断此输入流是否支持指针的mark/reset{fis.reset(); //将指针指向重新定位到上一次记录标记(mark)的位置} */}} catch (IOException ex) {ex.printStackTrace();}}}
FileReader:
public class FileReaderTest {public static void main(String[] args) {try (FileReader fr = new FileReader("C:/Users/Administrator/Workspaces/MyEclipse Professional 2014/JavaTest/src/com/code_15_3/FileReaderTest.java")) {char[] cbuf = new char[32];int hasRead = 0;while (((hasRead = fr.read(cbuf)) > 0)) {System.out.println(new String(cbuf, 0, hasRead));} fr.close() //可省略,有try()自动关闭 } catch (IOException ex) {ex.printStackTrace();}}看上面两段代码,发现其实用法并没有太大不同,关键就在是以字节还是以字符方式输入。
值得注意的是,java 7 改写了所有的IO资源类,它们都实现了AutoCloseable()接口,因此可通过自动关闭资源的try()语句来关闭这些IO流。
1 0
- InputStream 和 Reader(字节流和字符流)
- Java IO操作——字节流(OutputStream、InputStream)和字符流(Writer、Reader)
- Java IO操作——字节流(OutputStream、InputStream)和字符流(Writer、Reader)
- InputStream和Reader区别
- InputStream和Reader
- 字符流Reader和Writer
- Java IO--字节流与字符流OutputStream/InputStream/Writer/Reader
- 字节流与字符流简单操作(OutputStream、InputStream、Writer、Reader)
- JAVA 的两种流 字节流 InputStream OutputStream 字符流 Reader Writer
- JAVA 的两种流 字节流 InputStream OutputStream 字符流 Reader Writer
- JAVA 的两种流 字节流 InputStream OutputStream 字符流 Reader Writer
- Java IO--字节流与字符流OutputStream/InputStream/Writer/Reader
- Java IO--字节流与字符流OutputStream/InputStream/Writer/Reader
- JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
- JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
- JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
- java IO之字节流和字符流-OutputSteam和InputStream
- Github使用教程
- jsp中从数据库查询到的数据有换行时,在页面也要现实换行情况
- 将VIM 转变成集成IDE
- int main(int argc,char* argv[])详解
- 7.标志寄存器-EFLAGS寄存器与其用途
- InputStream 和 Reader(字节流和字符流)
- 51nod 1096 距离之和最小 (找规律题)
- collectionView中嵌套tableView
- 《System语言详解》——1.SystemTap概述
- AFNetworking的使用方法
- jsp显示的查询数据,有换行的实现方法
- dd命令详解
- NOIP提高组 2015.10.27总结
- Android手机拍照后照片被旋转或者需要旋转的问题