电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

14页
  • 卖家[上传人]:1770****659
  • 文档编号:357707029
  • 上传时间:2023-08-14
  • 文档格式:DOC
  • 文档大小:98.50KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、温固而知新,可以为师矣Java的输入输出流操作手册 1IO API1.1类文件字符流输入流FileReaderBufferedReader输出流FileWriterBufferedWriterPrintWriter字节流输入流FileInputStream BufferedInputStream DataInputStream输出流FileOutputStream BufferedOutputStream PrintStreamDataOutputStream字符字节通用流输入流InputStreamReader输出流OutputStreamWriter在数据流操作过程中通过缓冲区能大大提高I/O性能,采用数据缓冲区只需将输入与输出流用Buffered*封装一次即可1.2类说明FileOutputStream 用于写入诸如图像、文件数据之类的原始字节的流FileInputStream 用于读取诸如图像、文件数据之类的原始字节流DataOutputStream 写入java基本类型数据字节流(也可写入文件数据),readUTF方法用于读取用 UTF-8 修改版格式编码的字节流DataIn

      2、putStream 读写由DataOutputStream写入的java的基本类型的方法,如readInt,readLong,writeUTF方法采用平台无关方式的UTF-8 修改版编码写入字节流Buffered* 能够在内存里建立一个缓冲数据区,当写文件的时候,能起到缓冲的作用,并且可以自定缓冲区大小,BufferedOutputStream(OutputStreamout, intsize) InputStreamReader 是从字节流到字符流的桥梁:它读入字节,并根据指定字符编码方式,将之转换为字符流显示。使用的编码方式可能由名称指定,如InputStreamReader(InputStreamin, StringcharsetName),charsetName就是用于指定字符编码方式的OutputStreamWriter是字符流通向字节流的桥梁:使用指定的编码方式将要向其写入的字符编码为字节。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集OutputStreamWriter(OutputStreamout, StringcharsetName)chars

      3、etName用于指定字符编码方式的,不指定则接受平台默认字符集PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。与其他输出流不同,PrintStream 不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入字节数组之后自动调用 flush 方法。PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter 类。PrintWriter 将格式化对象打印到一个文本的输出流。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用checkError() 是否出现错误2字节流与字符流在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的2.1Java字符

      4、流1、一个字符一个字符的读取或写入2、一个字符可以是1个字节,可以是2个或多个字节;但java字符流处理的单元为2个字节的Unicode字符3、java字符流分别操作字符、字符数组或字符串2.2Java字节流1、一个字节一个子节的读取或写入2、Java字节流处理单元为1个字节3、Java操作字节和字节数组4、字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据。5、由于中文最少占二个字节,如果此时只读一个字节显然中文显示失败,此时提出了字符流的概念,它是按虚拟机的编码来处理,也就是要进行字符集的转化。2.3字节流与字符流转换1、字节流与字符流之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte和String的关联。2、字节流转向字符流实际上如public String(byte bytes,String charsetName)3、字符流转向字节流采用String.getBytes()3输入流操作(从文件读取)3.1一次性读取所有内容FileInputStream input

      5、= new FileInputStream(d:/test.java);int total = input.available();/返回test.java文件中字节的总长度byte readInfo = 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.readLine();/读文件信息一行while(s != null)/如果读到为空说明读结输入流完毕 .s = bf.readLine();/继续读取下一行3.3读取输入信息1、 用readbyte b数组

      6、参看当前目录下IO测试Demo.java示例。示例包括用byte进行读、存包含一次性读取所有内容、一次性存储所有内容到文件3、系统输入的信息读取(主要部分代码) BufferedReader reader = new BufferedReader(new InputStreamReader(System.in) String stringReader = null; stringReader = 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

      7、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.readLine();/继续读取下一行/输出流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.

      8、readLine();/读文件信息一行while(s != null) /如果读到为空说明读结输入流完毕p.println(); /增加分行 p.write(s); s = bf.readLine();/继续读取下一行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();/起初为文件总长度,随着每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

      《JAVA的IO输入输出流操作手册》由会员1770****659分享,可在线阅读,更多相关《JAVA的IO输入输出流操作手册》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.