- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13讲:I/O编程(1) 内容提要 I/O概述 字符集编码 File、RandomAccessFile类 I/O概述 I/O指的是一个程序与其外界之间的接口。Java提供了三套机制来处理I/O操作。 第一套机制采用java.io.File和java.io.RandomAccessFile类,前者用于处理文件或目录(文件夹),后者用于随机访问文件的内容。 第二套机制采用流(stream)来描述。 第三套采用新的I/O机制(称为NIO,其中的N就是new的首字母),是在JDK 1.4中新引入的,在性能上有了大幅提高,弥补了原来I/O的不足。NIO的目的是为了让Java程序员可以实现高速I/O而无需编写自定义的本机代码。 字符与编码 基本概念 字符 字符集 编码字符集 字符编码 字符集编码的历史 汉字编码 字符集编码的Java编程 基本概念 字符,就是文字符号,例如英文字母、汉字、标点、阿拉伯数字、数学符号等,而不管字符的表现形式如何(例如斜体、颜色、字体、点阵形式、矢量形式等)。 字符集,就是字符的集合,这个集合与数学中的集合是一个概念,即集合中的元素是互异的、无序的。 编码字符集,就是把字符集中每个字符赋予一个整数数字,在字符和数字之间建立了一一对应关系,这样的字符集就称为编码字符集。 字符编码(也称为编码、字符编码方案),就是怎样把编码字符集的数字映射为字节序列。字符编码方案分为定长编码和变长编码两种。定长编码有ASCII、GB2312、GBK、UTF-32等,定长编码较简单,变长编码常见的有UTF-8,这种编码对常用字符使用较少的字节,对生僻字符使用较多的字节来表示,这种编码实现起来要复杂些 字符集编码的历史 1.ASCII编码阶段 2.ANSI本地化编码 3.通用字符集阶段 汉字编码 我国的第一个汉字编码是1980制定的GB2312 1995年中国大陆发布了《汉字内码扩展规范》,简称GBK 2000年发布的GB18030是取代GBK的正式国家标准。GB18030作为Unicode 3.0的GBK扩展版本,覆盖了所有Unicode编码,地位等同于UTF-8,UTF-16,是一种Unicode编码形式。 字符集编码的Java处理 在Java中,字符串采用Unicode编码,每个字符占用两个字节(即采用UTF-16编码),字符对应的类型为char,与编码有关的两个主要方法在类String中,如下: (1)public byte[] getBytes(String charsetName) throws UnsupportedEncodingException 将字符串用指定的编码解析成字节数组,完成从charsetName到Unicode的转换。注意该方法有重载方法。 (2)public String(byte[] bytes, String charsetName) throws UnsupportedEncodingException //String的构造方法。该方法将字节数组以指定的编码标准构造成字符串,完成从Unicode到charsetName的转换。 借助上面这两个方法,我们就可以在任意的两个字符编码之间进行转换了。归根到底,字符编码的转换就是字符与字节之间的转换。 例程 Java内部(即正在执行的程序或者JVM)采用UTF-16编码,当字符从Java内部被移到外部(文件、数据库、网络等)或者从外部移到Java内部的时候,就进行了编码转换。因此可以说,所有的编码转换就只发生在Java和OS(操作系统)的交界处,因此Java在输入输出流中提供了字符集处理机制。 Java源代码也是字符,javac命令有一个参数-encoding,其含义是指定待编译的Java源代码文件所采用的字符集编码。若Java源代码文件的编码采用的不是操作系统默认的编码(中文Windows为GBK,Linux为UTF-8),则编译时必须使用参数-encoding指定正确的字符编码,编译命令如下: javac -encoding encodeName yourfile.java File类 File类提供了很多方法用于操作磁盘文件,可以对文件修改访问权限、删除文件、修改文件名、获取文件的路径等。File类对象就是一个在内存中的类实例对象,用以描述一个文件或目录(文件夹)。读者在使用File类时,有以下注意事项: (1)File对象实例描述了一个文件或目录,从这点说File对象和其他普通类对象一样,其创建与销毁只是在内存中创建或销毁了一个对象,不会影响其描述的磁盘文件。 (2)文件路径分隔符,Windows采用\,UNIX(Linux)采用 /。文件路径在程序中是一个字符串,注意到Java采用\作为转义符,故用“\\”表示Wi
您可能关注的文档
- IT职业英语 高巍巍 Unit11 The Development Environment 11 4 writting新.ppt
- IT职业英语 高巍巍 Unit12 New Technology 12 2 listening新.ppt
- IT职业英语 高巍巍 Unit12 New Technology 12 3 speaking新.ppt
- IT职业英语 高巍巍 YF-Grammar 语法 unit1 Tenses时态新.ppt
- IT职业英语 高巍巍 YF-Grammar 语法 unit2 Passive voice被动语态新.ppt
- IT职业英语 高巍巍 YF-Grammar 语法 unit3 Sentences句子新.ppt
- IT职业英语 高巍巍 YF-Grammar 语法 unit6 Adverbial clauses状语从句新.ppt
- IT职业英语 高巍巍 YF-Grammar 语法 unit7 Relativeattributive clauses定语从句新.ppt
- IT职业英语 高巍巍 YF-Grammar 语法 unit8 Relativeattributive clauses and Appositive clause新.ppt
- IT职业英语 高巍巍 YF-Grammar 语法 unit10 Inversion倒装新.ppt
文档评论(0)