在 java.io 包中 File 是一个常用类。这个名字容易产生一些误会。它表示一个文件名
(或目录名),而不是文件本身。文件在不同的操作系统下有不同的命名规则,Java 提供
File 类,通过 File 类隐藏这些名字上的不同。
File 的方法是对文件以一个整体形势进行操作:删除文件、创建目录、列出目录
、查询文件大小和修改日期等。虽然 File 类提供了操作目录和目录下文件的方法,但
File 类没有提供操作文件内容的方法,没法对字符或字进行读写。顺序文件的 I/O 是
通过一个抽象流来实现的。
stream 是一个对象,数据能够顺序的从中读出,或者能够顺序的写入其中。
java.io 包中有 40多个 stream 类。InputStream, OutputStream 和他们各自
的子类都用于读写 字节流 对象(byte , 一个byte 8 位)。 Reader , Writer 和他
们各自的子类用于读写 Unicode 字符流对象(char, 一个字符包含 2个字节)。
除了这些流之外, java.util.zip 包含数据压缩解压缩的数据流类。
字节输入流
BufferedInputStream
从一个 InputStream 中读取一个缓冲区,然后返回整个缓冲区的内容,使小量读写更
有效。
ByteArrayInputStream
从一个字节数组中顺序读入多个字节
CheckedInputStream
这个 java.util.zip 包中的类计算从 InputStream 中读入内容的校验合
DataInputStream
从一个 InputStream 中读取 java 基本类型的二进制表达形式
FileInputStream
从文件中顺序读入多个字节
FilterInputStream
字节输入流的过滤器类的超类
GZIPInputStream
这个 java.io.zip 包中的类从 InputStream 中读入以 GZIP 形式压缩的内容
InflaterInputStream
GZIPInputStream 和 ZipInputStream 的超类
InputStream
所有字节输入流的超类
ObjectInputStream
从一个字节流读入二进制形式的 Java 对象和基本值,这个类用来反序列化对象。
PipedInputStream
读取写入到它所连接的 PipedOutputStream中的多个字节,在多线程程序中使用
PushbackInputStream
将一个固定大小的“回推缓冲区”添加到输入流中,从而这些字节内容可以是"读不出"
的,在某些解析程序中有用。
SequenceInputStream
从两个或两个以上的输入流中顺序读入多个字节的内容,这些输入流就好像单独的一个
输入流一样。
ZipInputStream
用来解压 ZIP 文件中的多个项目
分享到:
相关推荐
Qt/C++使用小记9【使用UDP创建连接发送消息/传输单个文件】
这份"java小记.rar"压缩包很可能包含了作者多年从事Java Web开发的经验总结,可能包括代码示例、笔记、最佳实践等内容。 在Java Web开发中,Servlet是核心部分,它是一个Java类,用于扩展服务器的功能,处理HTTP...
序列化是将一个对象的状态转换为字节流,以便存储或在网络中传输。当一个类实现了`Serializable`接口,该类的对象就可以进行序列化。然而,并非所有的类属性都需要被序列化,这就是`transient`关键字发挥作用的地方...
时间和日期中常用到的几个类: java.util.Date, java.util.Calendar, java.util.GregorainCalendar, java.text.DateFormat, java.text.SimpleDateFormat
Java 调用C或C++动态链接库(DLL)主要依赖于Java Native Interface (JNI) 技术。JNI 是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。以下是一个详细的步骤来说明如何使用JNI调用C或C++的动态链接...
- **输入/输出框**:平行四边形,表示数据的输入或输出操作。 - **判断框**:菱形,表示条件判断。 - **连接箭头**:表示控制流的方向。 ### 二、常见流程控制结构 #### 1. 顺序结构 顺序结构是最简单的流程控制...
【中控智慧考勤机Java二次开发Demo】是一款专为中控考勤设备设计的Java编程示例,旨在帮助开发者更高效地进行考勤系统的定制与集成。在中控科技的官方网站和售后服务中,通常提供的SDK和示例是基于C#的,但针对Java...
8. **IO和NIO**:JAVA的IO库提供了处理输入输出的方法,而NIO(New IO)引入了非阻塞I/O,提升了效率,适用于高并发场景。 9. **反射机制**:JAVA反射允许在运行时检查类的信息,创建和操作对象,对于理解和使用第...
《国内工作流产品分析小记》是一篇由胡长城(笔名银狐999)撰写,深入探讨了中国国内工作流产品现状的文章。作者基于自身丰富的行业经验和敏锐的洞察力,对当时市场上的工作流产品进行了详尽的分析与评价,重点关注...
### Jquery AutoComplete组件+Ajax实现搜索框输入提示功能详解 #### 前言 在当前Web应用开发中,提供良好的用户体验是至关重要的。本文主要介绍如何使用Jquery AutoComplete组件与Ajax技术来实现搜索框的实时输入...
### D3.js 学习小记 #### SVG基础与D3.js绘图实践 ##### SVG基础 SVG(可缩放矢量图形)是一种基于XML的矢量图像格式,用于描述二维图形以及图形应用。SVG 图像可以被放大、缩小而不会失真,非常适合于网页制作。...
在本项目中,我们将探索如何利用Linux操作系统,Java编程语言,Python3,NumPy库以及STL文件格式来实现3D打印技术。这是一个跨学科的综合应用,涉及到计算机科学、软件开发以及制造技术。 首先,Linux是开源的操作...
将目前国内工作流产品厂商进行了简单的分析、整理 以前的资料,还有参考价值
环境: Linux s12084 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47.3) boost 1.37.0 去年10月份用过一次再没用过了。...
然而,通过添加`-XX:+PrintCompilation`参数观察JIT编译日志,我们发现经过32次重复拷贝的`play()`方法并未被JIT编译,而将其拆分为`play1()`和`play2()`后,这两个方法分别得到了JIT编译,执行效率显著提升。...
1. **克隆fork的项目**: `git clone --depth=5 https://gitee.com/tywo45/PublicCMS.git` 这个命令会将你fork的项目副本下载到本地。`--depth=5`参数指定只获取最近的5次提交历史,这可以加速下载过程。 2. **...
【LocalCache 学习小记1】 LocalCache 是一种本地高速缓存机制,它主要用于提升数据获取速度,尤其是在处理大量数据时,可以有效避免频繁访问远程数据库或分布式缓存,如 Redis 中的热键问题。LocalCache 不是...
map["one"] = {1, 2, 3}; for (const auto& kvp : map) { std::cout ; for (auto v : kvp.second) { std::cout ; } } ``` - **适用范围**:适用于C风格数组、初始化列表以及任何实现了非成员`begin()`和`end...
在“android开发小记”这个主题中,我们可以深入探讨Android应用程序开发的相关知识,特别是通过查看提供的压缩文件中的代码示例。这些文件名如lesson_8_code.zip至lesson_20_codel.zip,以及不同的Mp3Player版本,...