Java IO: Reader和Writer
Reader是Java IO中所有Reader的基类。Reader与InputStream类似,不同点在于,Reader基于字符而非基于字节。换句话说,Reader用于读取文本,而InputStream用于读取原始字节。
请记住,Java内部使用UTF8编码表示字符串。输入流中一个字节可能并不等同于一个UTF8字符。如果你从输入流中以字节为单位读取UTF8编码的文本,并且尝试将读取到的字节转换成字符,你可能会得不到预期的结果。
read()方法返回一个包含了读取到的字符内容的int类型变量(译者注:0~65535)。如果方法返回-1,表明Reader中已经没有剩余可读取字符,此时可以关闭Reader。-1是一个int类型,不是byte或者char类型,这是不一样的。
你通常会使用Reader的子类,而不会直接使用Reader。Reader的子类包括InputStreamReader,CharArrayReader,FileReader等等。可以查看Java IO概述浏览完整的Reader表格。
Reader通常与文件、字符数组、网络等数据源相关联,Java IO概述中同样说明了这一点。
WriterWriter是Java IO中所有Writer的基类。与Reader和InputStream的关系类似,Writer基于字符而非基于字节,Writer用于写入文本,OutputStream用于写入字节。
同样,你最好使用Writer的子类,不需要直接使用Writer,因为子类的实现更加明确,更能表现你的意图。常用子类包括OutputStreamWriter,CharArrayWriter,FileWriter等。
Writer的write(int c)方法,会将传入参数的低16位写入到Writer中,忽略高16位的数据。
转载自 并发编程网 - ifeve.com 【Java文件操作】手把手教你拿捏IO 流 哈喽,大家好~我是保护小周ღ,本期为大家带来的是 Java 文件操作,理解文件的概念以及,常用的操作文件的类和方法,FileInputStream 类 和 FileOutputStream , PrintWriter and Scnner, Reader and Wirter 确定不来看看嘛~ 更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★* ‘
java面试题(十一)IO流篇 3.1 介绍一下Java中的IO流 IO(Input Output)用于实现对数据的输入与输出操作,Java把不同的输入/输出源(键盘、文件、网络等)抽象表述为流(Stream)。流是从起源到接收的有序数据,有了它程序就可以采用同一方式访问不同的输入/输出源。 ● 按照数据流向,可以将流分为输入流和输出流,其中输入流只能读取数据、不能写入数据,而输出流只能写入数据、不能读取数据。 ● 按照数据类型,可以将流分为字节流和字符流,其中字节流操作的数据单元是8位的字节,而字符流操作的数据单元是16位的字符。 ● 按照处理功能,可以将流分为节点流和处理流,其中节点流可以直接从/向一个特定的I
相关文章
- Java实现 LeetCode 537 复数乘法(关于数学唯一的水题)
- Java实现 LeetCode 260 只出现一次的数字 III(三)
- java实现第二届蓝桥杯异或加密法
- Java实现第十届蓝桥杯旋转
- Java中输入时IO包与Scanner的区别
- java IO之 字符流 (字符流 = 字节流 + 编码表) 装饰器模式
- 【JAVA】java编译错误:编码UTF8/GBK的不可映射字符
- Java IO模型详解
- 【Java】java使用反射访问对象方法和成员变量
- Java知识回顾 (4)Java包装类
- Java使用POI实现多个excel合并成一个excel
- 【Java】java 环境配置(详细教程)
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
- 【华为OD机试 2023】羊、狼、农夫过河(C++ Java JavaScript Python)
- java IO文件操作简单基础入门例子,IO流其实没那么难
- Struts2.5.6版本文件下载问题Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack
- Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
- Java他们其中一个IO(一)
- Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释
- 【java】Java 抽象类
- JAVA开发讲义(二)-Java程序设计之数据之谜三