- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
javaIO与文件
JAVA讲座 I/O与文件 流 字节(byte)的序列是流 字节占用8位空间 “序列”表明顺序是重要的 根据流的方向划分 输入流 InputStream 是抽象类,不能直接创建对象 System.in 是准备好的输入流的对象实例 一般代表键盘,除非重定向 输出流OutputStream InputStream int read() 从流中取得一个字节 如果是西文,就是它的ASCII码 流结束,返回-1 中文返回它的编码的第一个字节 字符的编码依赖于编码方式,不是唯一的 字符在机器的内存中表示为:unicode-16编码格式 字节编码与字符的转换 String类提供了转化手段 String(byte[] b, int start, int len, String codeName) InputStreamReader提供了直接读字符的手段 int read() 返回-1表示流结束,否则是字符(需要强制转换) 键盘输入 System.in 提供了字节输入 InputStreamReader 提供了字符输入 BufferedReader 提供了整行字符的输入(串输入) java中有哪些预定义流? System.in 标准输入流 默认键盘 System.out 标准输出流 默认屏幕 System.err 标准错误流 默认屏幕 这些预定义的标准流可以重定向 System.setIn(…) System.setOut(…) System.setErr(…) 最重要的抽象 屏蔽了差异,一视同仁 InputStream 输入流 OutputStream 输出流 多样的服务 InputStream 只提供基本的字节服务。虽然也可使用,但有的场和很不方便。 InputStreamReader 可以提供面向字符的服务。 BufferedReader 提供面向串的服务。 键盘输入原理示意 复习-泛化 InputStream ins = new FileInputStream(“a.txt”) 这个就足够了,并不需要太具体!! I/O类的层次 InputStream FileInputStream 字节流 FilterInputStream BufferedInputStream DataInputStream 读取基础数据类型 平台无关 OutputStream FileOutputStream FilterOutputStream BufferedOutputStream DataOutputStream 写入基础数据类型 平台无关 IO类的层次(续) Reader BufferedReader 提供读一行 InputStreamReader 提供读字符而非字节 FileReader 直接使用文件名,无需组合 Writer BufferedWriter OutputStreamWriter FileWriter直接使用文件名,无需组合 PrintWriter 如屏幕输出一样方便 File 文本文件与二进制文件 文件本身没有强制性的区别 一般文本文件中都是可识别的字符(供人阅读) 二进制文件高度结构化,供机器识别 区别在于我们的观点 观点:行的序列,文本文件 文本文件无法随机访问,因为行的长度不确定 观点:字节的序列,二进制文件 文本文件的读写 PrintWriter(FileOutputStream) 提供了丰富的输出格式化。默认编码方式 FileWriter 需显式换行。默认编码 BufferedWriter(OutputStreamWriter) 可指定编码 BufferredReader(InputStreamReader) 可指定编码 读的异常状况 异常 FileNotFoundException 文件找不到 IOException 其它异常 读到文件尾 readline()返回null 二进制文件的读写 直接操作字节 FileInputStream FileOutputStream 与平台无关的读写 DataInputStream DataOutputStream 与编码有关 先把串转换为byte[ ] 如何添加到文件尾 默认的情况是,新内容覆盖旧内容。 添加到尾的两种方式 构造成器中指示定参数 使用随机文件 尾添加-指定参数 把第二个参数设为true new FileOutputStream(“a.txt”,true) 这样的弱点是:不能在旧的内容上修改,只能添加 随机读写 随机的含义 可以跳到任意位置读写 跳的单位是:字节 读写可以交替进行 使用类: RandomAccessFile 随机读写 构造器 (String name, String mo
原创力文档


文档评论(0)