当前位置: 首页 > wzjs >正文

网站服务器租用价格表如何进行关键词分析

网站服务器租用价格表,如何进行关键词分析,wordpress新闻资讯主题,电脑做高考真题的网站Java I/O 流体系详解与记忆方法 一、I/O 流核心框架 Java I/O 流体系是Java处理输入输出的核心API,主要分为两大阵营: 1. 按数据流向分(输入和输出是相对于内存而言的) 内存:临时存储数据的空间 硬盘:…

Java I/O 流体系详解与记忆方法

一、I/O 流核心框架

Java I/O 流体系是Java处理输入输出的核心API,主要分为两大阵营:

1. 按数据流向分(输入和输出是相对于内存而言的)

内存:临时存储数据的空间

硬盘:持久化设备

记忆:可以把内存比作大脑,本子记做硬盘,将内容写道本子上,就是输出/write

  • 输入流:从外部读入程序(InputStream/Reader)(从硬盘到内存)

  • 输出流:从程序写出到外部(OutputStream/Writer)(从内存到硬盘)

2. 按数据类型分

类型特点抽象基类单位典型实现类
字节流(一次读取一个字节)处理二进制数据,适合读取图片,声音,视频等文件。(当然字节流是万能的。什么都可以读和写)InputStream字节FileInputStream
OutputStreamFileOutputStream
字符流(一次读取一个字符)处理文本数据,只适合读取普通文本Reader字符FileReader
WriterFileWriter

二、核心类继承体系

字节流体系

mermaid

classDiagramInputStream <|-- FileInputStreamInputStream <|-- ByteArrayInputStreamInputStream <|-- FilterInputStreamFilterInputStream <|-- BufferedInputStreamFilterInputStream <|-- DataInputStreamOutputStream <|-- FileOutputStreamOutputStream <|-- ByteArrayOutputStreamOutputStream <|-- FilterOutputStreamFilterOutputStream <|-- BufferedOutputStreamFilterOutputStream <|-- DataOutputStream

字符流体系

mermaid

classDiagramReader <|-- FileReaderReader <|-- BufferedReaderReader <|-- InputStreamReaderWriter <|-- FileWriterWriter <|-- BufferedWriterWriter <|-- OutputStreamWriter

三、关键装饰器模式

Java I/O 采用装饰器模式增强功能:

  • 缓冲流BufferedInputStream/BufferedReader

  • 数据流DataInputStream/DataOutputStream

  • 对象序列化ObjectInputStream/ObjectOutputStream

  • 转换流InputStreamReader/OutputStreamWriter

四、记忆口诀

1. 基础分类记忆法

"字节字符分两家,输入输出各不同"

  • 字节流用于所有数据类型(如图片、视频)

  • 字符流专为文本优化(自动处理编码)

2. 命名规律记忆

  • 后缀规则

    • InputStream/OutputStream → 字节流(看结尾,结尾是Stream,就是字节流)

    • Reader/Writer → 字符流

  • 前缀规则

    • Buffered → 缓冲功能

    • Data → 基本数据类型读写

    • Object → 对象序列化

3. 生活场景联想

  • 文件拷贝

    java

    // 字节流适合任意文件
    try (InputStream is = new FileInputStream("src.jpg");OutputStream os = new FileOutputStream("dest.jpg")) {byte[] buffer = new byte[1024];int len;while ((len = is.read(buffer)) != -1) {os.write(buffer, 0, len);}
    }

    文本读取

    java

// 字符流+缓冲提升文本读取效率
try (BufferedReader br = new BufferedReader(new FileReader("text.txt"))) {String line;while ((line = br.readLine()) != null) {System.out.println(line);}
}

五、面试高频问题

1. 字节流 vs 字符流如何选择?

  • 字节流:处理二进制文件(如图片、压缩包)

  • 字符流:处理文本文件(自动处理编码,如UTF-8)

2. 为什么需要缓冲流?

  • 减少磁盘IO次数:默认每次read/write都直接操作磁盘,缓冲流在内存中积累数据后批量操作

  • 性能对比

    java

// 无缓冲(慢)
FileInputStream fis = new FileInputStream("large.bin");// 有缓冲(快10-100倍)
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("large.bin"));

3. 转换流(InputStreamReader)的作用?

  • 桥梁作用:将字节流转换为字符流

  • 指定编码

    java

// 显式指定GBK编码读取文本
new InputStreamReader(new FileInputStream("text.txt"), "GBK");

六、典型代码模板

1. 文件复制(字节流)

java

try (InputStream is = new FileInputStream("source");OutputStream os = new FileOutputStream("target")) {byte[] buf = new byte[8192];int len;while ((len = is.read(buf)) != -1) {os.write(buf, 0, len);}
}

2. 文本处理(字符流)

java

// 读取文本文件(自动处理编码)
try (BufferedReader br = new BufferedReader(new FileReader("text.txt"))) {br.lines().forEach(System.out::println);
}// 写入文本(追加模式)
try (BufferedWriter bw = new BufferedWriter(new FileWriter("log.txt", true))) {bw.write("新的日志内容");bw.newLine();
}
http://www.dtcms.com/wzjs/502352.html

相关文章:

  • 做服装网站宣传quark搜索引擎入口
  • 新手做网站需要哪些软件网页设计制作
  • 成都网站建设设计线在科技成都网站推广公司
  • 广东省 网站制作营销渠道名词解释
  • 网站集约化建设的讲话郑州seo代理外包公司
  • wordpress回复后可见南宁seo渠道哪家好
  • 秦皇岛网站开发多少钱推送者seo
  • 有什么做服装的网站吗如何设计一个网站页面
  • 哪个网站做批发最便宜吗安卓优化大师老版本
  • 越南做企业网站网站查询ip
  • 阿里云怎么做网站爱网站关键词查询工具长尾
  • 怎么用网吧电脑做网站服务器吗百度推广有用吗
  • 网站空格键代码关键词优化价格表
  • 婚庆网站哪个网站好公司网站排名
  • 用手机怎么做网页seo关键字排名
  • wordpress 文章同步微信seo模板建站
  • 招聘网站的SEO怎么做自媒体怎么赚钱
  • 找人做一个网站多少钱seo外包公司兴田德润
  • 成熟的网站怎么做seo推广广告公司取名字参考大全
  • 网站还在建设中英文seo如何进行优化
  • 泉州有哪些做网站的百度指数电脑端查询
  • 做网站工资还没有文员高网时代教育培训机构官网
  • 公司一个人做网站seo入门培训班
  • 人社门户网站建设方案semester怎么读
  • 上海网站建设公司 1861web免费网站推广群发软件
  • 做网站公司排名是什么新冠疫情最新消息今天公布
  • 新站优化电商大数据查询平台
  • 濮阳建设工程交易网中标公示商丘seo博客
  • 大型科技网站建设电商seo优化
  • 盐城做网站的公司地址bing搜索引擎下载