Data Streams
http://java.sun.com/docs/books/tutorial/essential/io/datastreams.html
package org;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class DataStreams {
static final String dataFile = "invoicedata";
static final double[] prices = { 19.99, 9.99, 15.99, 3.99, 4.99 };
static final int[] units = { 12, 8, 13, 29, 50 };
static final String[] descs = { "Java T-shirt", "Java Mug",
"Duke Juggling Dolls", "Java Pin", "Java Key Chain" };
public static void main(String[] args) throws Exception {
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(
new FileOutputStream(dataFile)));
for (int i = 0; i < prices.length; i++) {
out.writeDouble(prices[i]);
out.writeInt(units[i]);
out.writeUTF(descs[i]);
}
if (out != null) {
out.close();
}
DataInputStream in = new DataInputStream(new BufferedInputStream(
new FileInputStream(dataFile)));
double price;
int unit;
String desc;
double total = 0.0;
try {
while (true) {
price = in.readDouble();
unit = in.readInt();
desc = in.readUTF();
System.out.format("You ordered %d units of %s at $%.2f%n",
unit, desc, price);
total += unit * price;
}
} catch (Exception e) {
}
}
}
Data streams support binary I/O of primitive data type values (boolean, char, byte, short, int, long, float, and double) as well as String values.
Object Streams
http://java.sun.com/docs/books/tutorial/essential/io/objectstreams.html
subinterfaces of DataInput and DataOutput
持久化对象将持久化关联的对象
A stream can only contain one copy of an object, though it can contain any number of references to it. Thus if you explicitly write an object to a stream twice, you're really writing only the reference twice.
Object ob = new Object();
out.writeObject(ob);
out.writeObject(ob);
如果是这样的情况,也只写入一次对象。写入2次对象的引用
Object ob1 = in.readObject();
Object ob2 = in.readObject();
得到一个对象的2个引用
分享到:
相关推荐
在Java中,IO流分为四类:字节流(Byte Streams)、字符流(Character Streams)、对象流(Object Streams)和缓冲流(Buffered Streams)。字节流处理的是8位的数据单元,而字符流处理的是16位的Unicode字符。对于...
3. **对象序列化流(Object Streams)** Java提供`ObjectInputStream`和`ObjectOutputStream`,用于对象的序列化和反序列化。通过这些流,Java对象可以被转换为字节流,便于存储或网络传输。 4. **过滤流(Filter ...
Java IO库包含了大量类和接口,它们分为四类主要流:字节流(Byte Streams)、字符流(Character Streams)、对象流(Object Streams)和套接字流(Socket Streams)。 1. 字节流:字节流处理单个字节的数据,包括...
5. **对象存储区(Object Streams)**:包含了嵌入的媒体文件,如音频、视频或链接到的外部文件。 6. **超链接存储区(Hyperlink Stream)**:管理幻灯片内的超链接和动作设置,允许用户跳转到其他位置或打开网页。...
- **对象流(Object Streams)**:`ObjectInputStream` 和 `ObjectOutputStream` 支持对象的序列化和反序列化,即对象的状态可以被转化为字节流存储到文件或其他媒介中,也可以从字节流中恢复对象状态。为了支持序列化...
Object Streams and Serialization 39 File Management 59 New I/O 65 Regular Expressions 75 Chapter 2: XML 87 Introducing XML 88 Parsing an XML Document 93 Validating XML Documents 105 ...
1-3-1-1:通过Object Streams方式保存并读入对象; 1-3-1-2:通过文本格式解析生成对象。 1-3-2:读入1-3-1保存的文件,重现之前绘制的形状。 评分标准:总分100分,计分后转为5分制 程序基本框架 ...
5. **对象流(Object Streams)**: 对于序列化和反序列化Java对象,Java提供了ObjectInputStream和ObjectOutputStream。这些类允许我们将Java对象转换为字节流,以便存储或在网络上传输。 在"day12"这个文件中,...
此外,Java的I/O系统还支持管道流(Pipe Streams)、对象流(Object Streams)、网络流(Socket Streams)等,使得Java能够处理更复杂的数据传输场景,如进程间通信、序列化和网络通信。 总结来说,Java的输入输出系统是...
6. **对象流(Object Streams)**: - `ObjectInputStream`和`ObjectOutputStream`用于序列化和反序列化Java对象,允许对象的数据保存到文件或在网络间传输。 7. **文件复制**: 常见的文件操作之一是文件复制,...
还有缓冲流(Buffered streams)可以提高效率,转换流(Convert streams)用于在不同类型的流之间转换,以及对象流(Object streams)用于序列化和反序列化对象。 接下来,我们关注Java中的静态块和初始化块。静态...
Java I/O流分为四大类:字节流(Byte Streams)、字符流(Character Streams)、对象流(Object Streams)和缓冲流(Buffered Streams)。字节流处理单个字节的数据,而字符流处理Unicode字符。对象流允许序列化和反...
Buffered streams、File streams、Object streams等都是I/O流的重要组成部分。 综上所述,这份Java学习资料涵盖了从基础到高级的多个主题,包括基本语法、面向对象编程、异常处理、Applet、GUI设计、多线程以及输入...
Java IO库提供了各种类型的流,如字节流(Byte Streams)和字符流(Character Streams),以及缓冲流(Buffered Streams)、转换流(InputStreamReader/OutputStreamWriter)和对象流(Object Streams)等。...
4. 对象流(Object Streams): - ObjectOutputStream 用于序列化对象到流中。 - ObjectInputStream 用于从流中反序列化对象。 5. 转换流(桥梁): - InputStreamReader 和 OutputStreamWriter 将字节流转换为...
5. **对象流**(Object Streams,自PDF 1.5版起):为了减少文件大小,PDF引入了对象流,允许多个对象紧凑地存储在一起,称为对象流(ObjStm)。对象流可以包含多个对象,它们被编码并压缩,从而节省空间。 6. **...
对象流(Object Streams) - **定义与作用**:对象流是一种特殊的流对象,它允许将多个PDF对象打包成一个流,并进行压缩,以减少文件大小。 - **限制**:不是所有对象都可以放入对象流中,例如流对象本身、生成...
- **Essay#1C**:这个问题要求考生选择客户端服务器连接的方式——对象流(Object Streams)或远程方法调用(RMI),并解释选择的理由及其优缺点。 - **对象流**:是一种序列化机制,用于在网络上传输对象。 - **RMI**...
- **Heterogeneous Token Object Streams**:异构标记对象流。 - **Filtering InputStreams**:过滤输入流。 - **ANTLR Masquerading as SED**:ANTLR 模拟 SED 工具。 - **Nongreedy Subrules**、**Greedy ...
AQ支持多种消息类型,包括Raw、XML、Object和Anydata,并且与Oracle的多种API兼容,如OCI(C)、OCCI(C++)、Java JMS、PL/SQL、OO40(COM)、Internet Data Access (IDAP)以及通过异构网关的ODBC。 Change Data ...