JAVA的IO输入输出流操作手册

上传人:1770****659 文档编号:357707029 上传时间:2023-08-14 格式:DOC 页数:14 大小:98.50KB
返回 下载 相关 举报
JAVA的IO输入输出流操作手册_第1页
第1页 / 共14页
JAVA的IO输入输出流操作手册_第2页
第2页 / 共14页
JAVA的IO输入输出流操作手册_第3页
第3页 / 共14页
JAVA的IO输入输出流操作手册_第4页
第4页 / 共14页
JAVA的IO输入输出流操作手册_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《JAVA的IO输入输出流操作手册》由会员分享,可在线阅读,更多相关《JAVA的IO输入输出流操作手册(14页珍藏版)》请在金锄头文库上搜索。

1、温固而知新,可以为师矣Java的输入输出流操作手册 1IO API1.1类文件字符流输入流FileReaderBufferedReader输出流FileWriterBufferedWriterPrintWriter字节流输入流FileInputStream BufferedInputStream DataInputStream输出流FileOutputStream BufferedOutputStream PrintStreamDataOutputStream字符字节通用流输入流InputStreamReader输出流OutputStreamWriter在数据流操作过程中通过缓冲区能大大提高I

2、/O性能,采用数据缓冲区只需将输入与输出流用Buffered*封装一次即可1.2类说明FileOutputStream 用于写入诸如图像、文件数据之类的原始字节的流FileInputStream 用于读取诸如图像、文件数据之类的原始字节流DataOutputStream 写入java基本类型数据字节流(也可写入文件数据),readUTF方法用于读取用 UTF-8 修改版格式编码的字节流DataInputStream 读写由DataOutputStream写入的java的基本类型的方法,如readInt,readLong,writeUTF方法采用平台无关方式的UTF-8 修改版编码写入字节流Bu

3、ffered* 能够在内存里建立一个缓冲数据区,当写文件的时候,能起到缓冲的作用,并且可以自定缓冲区大小,BufferedOutputStream(OutputStreamout, intsize) InputStreamReader 是从字节流到字符流的桥梁:它读入字节,并根据指定字符编码方式,将之转换为字符流显示。使用的编码方式可能由名称指定,如InputStreamReader(InputStreamin, StringcharsetName),charsetName就是用于指定字符编码方式的OutputStreamWriter是字符流通向字节流的桥梁:使用指定的编码方式将要向其写入的字

4、符编码为字节。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集OutputStreamWriter(OutputStreamout, StringcharsetName)charsetName用于指定字符编码方式的,不指定则接受平台默认字符集PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。与其他输出流不同,PrintStream 不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入字节数组之后自动调用 flus

5、h 方法。PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter 类。PrintWriter 将格式化对象打印到一个文本的输出流。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用checkError() 是否出现错误2字节流与字符流在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的2.1Java字符

6、流1、一个字符一个字符的读取或写入2、一个字符可以是1个字节,可以是2个或多个字节;但java字符流处理的单元为2个字节的Unicode字符3、java字符流分别操作字符、字符数组或字符串2.2Java字节流1、一个字节一个子节的读取或写入2、Java字节流处理单元为1个字节3、Java操作字节和字节数组4、字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据。5、由于中文最少占二个字节,如果此时只读一个字节显然中文显示失败,此时提出了字符流的概念,它是按虚拟机的编码来处理,也就是要进行字符集的转化。2.3字节流与字符流转换1、字节流与字符流

7、之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte和String的关联。2、字节流转向字符流实际上如public String(byte bytes,String charsetName)3、字符流转向字节流采用String.getBytes()3输入流操作(从文件读取)3.1一次性读取所有内容FileInputStream input = new FileInputStream(d:/test.java);int total = input.available();/返回test.java文件中字节的总长度byte readInfo

8、 = new bytetotal;/定义文件总长度相同大小的数组去存放数据input.read(readInfo);/读取文件并存入数组readInfo中String export = new String(readInfo);/将数组信息字符串化input.close();3.2逐行读取内容用readLine行读取(采用BufferedReader封装)FileReader read = new FileReader(new File(f:/test.txt);BufferedReader bf = new BufferedReader(read);/封装String s = bf.read

9、Line();/读文件信息一行while(s != null)/如果读到为空说明读结输入流完毕 .s = bf.readLine();/继续读取下一行3.3读取输入信息1、 用readbyte b数组参看当前目录下IO测试Demo.java示例。示例包括用byte进行读、存包含一次性读取所有内容、一次性存储所有内容到文件3、系统输入的信息读取(主要部分代码) BufferedReader reader = new BufferedReader(new InputStreamReader(System.in) String stringReader = null; stringReader =

10、reader.readLine().trim();/trim()用于转换成大写4输出流操作(输出到文件)4.1存储指定字符内容到指定文件String export = .;File file = new File(d:DownloadCert.log);FileOutputStream output = new FileOutputStream(file );output.write(export.getBytes();output.close();注:4.2逐行读取指定文件存储至另一文件/输入流FileReader read = new FileReader(new File(f: + te

11、st.txt);BufferedReader bf = new BufferedReader(read);/输出流1,方法一File file = new File(d: + DownloadCert.log);FileOutputStream fileWriter = new FileOutputStream(file,true); String s = bf.readLine();/读文件信息一行while(s != null)/如果读到为空说明读结输入流完毕s= s + n;/将读到的信息组合起来并插入分行符fileWriter.write(s.getBytes(); s = bf.re

12、adLine();/继续读取下一行/输出流2,方法二File file = new File(d: + DownloadCert.log);FileWriter f = new FileWriter(file );/或FileWriter f = new FileWriter(file,true );PrintWriter p = new PrintWriter(f);String s = bf.readLine();/读文件信息一行while(s != null) /如果读到为空说明读结输入流完毕p.println(); /增加分行 p.write(s); s = bf.readLine()

13、;/继续读取下一行4.3限制每次读取长度读取指定文件至另一文件/* 边读边存文件,如果文件或数据过大则采用字节限制读、存 */FileInputStream input_1 = new FileInputStream(d:/Base64.java);FileOutputStream output_1 = new FileOutputStream(d:/temp_1.txt);byte b = new byte400;/定义长度为400的字节数组,每次只读400字节int rs = 0;while(rs != -1)int size = input_1.available();/起初为文件总长度

14、,随着每read一次长度自动减少一些 /如果文件或数据小于400长度 if(sizeb.length) byte end = new bytesize; rs = input_1.read(end); System.out.println(读取到 + rs + 字符); output_1.write(end); rs = -1; /读、存结束,设置-1去终止循环 else/如果文件或数据大于400长度 rs = input_1.read(b);/从文件中读取出400字符存入数组b中 System.out.println(读取到 + rs + 字符); output_1.write(b);/将长度为400的数组b写到另一文件 input_1.close();output_1.close();4.4读取网页数据到文件中URL urlA

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > Java

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号