Java连载154-IO总结(一)
2021/12/22 1:19:28
本文主要是介绍Java连载154-IO总结(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、类图
基本上IO可以分为字节流和字符流
二、字符大小
一般来说一个字母占用一个字节,一个汉字占用两个字节。具体还要看字符编码,比如说在 UTF-8 编码下,一个英文字母(不分大小写)为一个字节,一个中文汉字为三个字节;在 Unicode 编码中,一个英文字母为一个字节,一个中文汉字为两个字节。
三、常用方法
InputStream
int read() 读取数据 int read(byte[] b, int off, int length) 从第off个字节开始读取长度为length的字节,放到数组b中 long skip(long n) 跳过指定长度的字节 int available() 返回可读取的字节长度 void close() 关闭字节流
OutputStream
void write(int b) 写入一个字节,虽然传入的是int类型,但是只会传入低八位,前24位舍弃 void write(byte[] b, int off, int length) 在数组b中,从第off个字节开始,读取长度为length的字节 void fluhsh() 强制刷新,将缓冲区数据写入 void close() 关闭字节流
Reader
int read() 读取数据 int read(char[] b, int off, int length) 从第off个字符开始读取长度为length的字符,放到数组b中 long skip(long n) 跳过指定长度的字符 int ready() 是否可以读了 void close() 关闭字节流
Writer
void write(char b) 写入一个字符 void write(byte[] b, int off, int length) 在数组b中,从第off个字节开始,读取长度为length的字节 void fluhsh() 强制刷新,将缓冲区数据写入 void close() 关闭字节流
四、按照IO流操作的对象来进行分类
五、分别举例
先举个FileInputStream的列子
package com.newJava; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class D154_InputOutputStream { public static void main(String[] args) { InputStream is = null; String address = "E:\\d05_gitcode\\Java\\newJava\\src\\com\\newJava\\newFile.txt"; int b; try { is = new FileInputStream(address); while ((b = is.read()) != -1) { // 可以看出是一个字节一个字节读取的 System.out.println((char)b); } } catch (Exception e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } }
原文
六、源码:
github路径:https://github.com/ruigege66/Java/blob/master/newJava/src/com/newJava CSDN:https://blog.csdn.net/weixin_44630050 博客园:https://www.cnblogs.com/ruigege0000/ 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流
这篇关于Java连载154-IO总结(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-29RocketMQ底层原理资料详解:新手入门教程
- 2024-11-29RocketMQ源码资料解析与入门教程
- 2024-11-29[开源]6.1K star!这款电视直播源神器真的太赞啦!
- 2024-11-29HTTP压缩入门教程:轻松提升网页加载速度
- 2024-11-29JWT开发入门指南
- 2024-11-28知识管理革命:文档软件的新玩法了解一下!
- 2024-11-28低代码应用课程:新手入门全攻略
- 2024-11-28哪些办公软件适合团队协作,且能够清晰记录每个阶段的工作进展?
- 2024-11-28全栈低代码开发课程:零基础入门到初级实战
- 2024-11-28拖动排序课程:轻松掌握课程拖动排序功能