DataInputSteam和DataOutputSteam是没有必要存储整个对象的信息,
而只是要存储一个对象的成员数据,
成员数据的类型假设都是Java的基本数据类型,
这样的需求不必使用到与Object输入、输出相关的流对象,
可以使用DataInputStream、DataOutputStream来写入或读出数据
package com.study;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import com.study.Books;
public class DataStreamBooks {
public static void main(String[] args) {
//使用DataInputStream,DataOutputStream写入文件且从文件中读取数据。
Books [] books = {new Books("Java基础教程","2010-1-2",10),
new Books("Javascript基础教程","2010-2-2",20),
new Books("Servlet基础教程","2010-3-2",30),
new Books("JSP基础教程","2010-4-2",40)
};
try {
//Data Stream写到输入流中
DataOutputStream dos = new DataOutputStream(new FileOutputStream("F:\\project\\study\\WebRoot\\datasteam.txt"));
for(Books book : books) {
dos.writeUTF(book.getBook_name());
dos.writeUTF(book.getBook_date());
dos.writeInt(book.getMoney());
}
dos.flush();
dos.close();
DataInputStream dis = new DataInputStream(new FileInputStream("F:\\project\\study\\WebRoot\\datasteam.txt"));
for(Books book : books) {
System.out.print(dis.readUTF());
System.out.print("==========");
System.out.print(dis.readUTF());
System.out.print("==========");
System.out.println(dis.readInt());
}
dis.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
DataStreamBooks.java
package com.study;
public class Books {
private String book_name;
private String book_date;
private int money;
public Books(String book_name,String book_date,int money) {
this.book_name = book_name;
this.book_date = book_date;
this.money = money;
}
public String getBook_name() {
return book_name;
}
public void setBook_name(String book_name) {
this.book_name = book_name;
}
public String getBook_date() {
return book_date;
}
public void setBook_date(String book_date) {
this.book_date = book_date;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
Books.java
分享到:
相关推荐
Java中的`DataInputStream`和`DataOutputStream`是用于处理基本数据类型流的类,它们都位于`java.io`包中。这两个类是为了解决在进行网络通信或磁盘存储时,需要高效、有序地读写Java基本数据类型的问题。 `...
在Java的I/O系统中,`DataInputStream`和`DataOutputStream`以及`FilterStream`是处理数据输入和输出的关键类,它们对于程序的文件操作和网络通信起着至关重要的作用。本教程将深入讲解这些类的功能、用法以及它们在...
此外,DataInputStream和DataOutputStream也可应用于网络连接,通过Socket对象进行数据的收发,提供了一种高效且类型安全的数据传输方式。 总的来说,Java数据输入输出流提供了一种高级的数据处理机制,使得开发...
本实验主要介绍了 Java 中的输入输出流,包括 DataInputStream、DataOutputStream、PrintStream 等类的使用,以及对象的序列化和反序列化。通过实验,我们可以掌握流的概念分类、字符串常用操作方法、流的构造和应用...
在Java编程中,数据输入输出流(DataInputStream和...在上述代码示例中,它们被用来实现简单的字符串加解密和文件操作,但在实际应用中,通常会结合更复杂的加密算法和安全措施来保证数据的机密性和完整性。
比如,DataInputStream和DataOutputStream是两个常用的过滤流,它们分别包装InputStream和OutputStream,实现了对基本数据类型的二进制格式化读写。这两个类实现了DataInput和DataOutput接口,定义了诸如readInt(), ...
本实验报告主要介绍了Java网络编程的基本概念和实现方法,通过设计和实现一个简单的客户端/服务器应用程序,了解Java网络编程的基本原理和实现方法。 知识点1:Java 网络编程基础 Java 网络编程是指使用 Java 语言...
5. DataInputStream和DataOutputStream:用于读写基本数据类型。 6. ObjectInputStream和ObjectOutputStream:用于序列化和反序列化对象。 四、I/O流的使用场景 1. 文件操作:读取和写入文件内容。 2. 网络通信:...
在【部分内容】中,我们看到了两个主要的例子,第一个是简单的TCP服务端和客户端的代码实现,第二个是使用DataInputStream和DataOutputStream进行TCP通信的例子。 1. TCP服务端和客户端的基本通信: - 服务端代码...
为了实现双向通信,通常需要使用InputStream和OutputStream或者其子类DataInputStream和DataOutputStream来处理数据的发送和接收。 在实验步骤中,首先创建了一个简单的命令行服务器/客户端程序,服务器端接收到...
3. 数据传输方式的实现:数据的传输方式使用了DataInputStream和DataOutputStream,它们分别对InputStream和OutputStream进行了一层封装,可以实现汉字的传送,而不是字节流的传送。 四、基于TCP的Java聊天系统雏形...
在处理数据输入和输出时,Java提供了DataInputStream和DataOutputStream类,这两个类主要用于将基本数据类型和字符串在字节流中进行读写操作。它们分别实现了DataInput和DataOutput接口,这两个接口定义了一系列方法...
过滤流(DataInputStream和DataOutputStream)既是FilterInputStream和FilterOutputStream的子类,也实现了DataInput和DataOutput接口。DataInput接口提供了读取基本数据类型、读取行和指定长度字节的方法,如...
6)讲解数据流的基本用法,特别是DataInputStream和DataOutputStream的使用案例;7)说明RandomAccessFile类的使用技巧,并给出了具体的读写示例;8)简述Java中标准输入输出流(如System类的输入输出流)的操作方法...
通过创建Socket实例,可以建立到服务器的连接,然后通过DataInputStream和DataOutputStream进行数据的读写。 4. **测试策略**:在开发过程中,测试是非常关键的一环。文档提到了“80-20原则”,意味着大部分错误...
- 过滤流:DataInputStream和DataOutputStream是FilterInputStream和FilterOutputStream的子类,并且实现了DataInput和DataOutput接口。DataInput接口提供了从流中读取基本数据类型、读取行和读取特定长度字节的...
DataInputStream和DataOutputStream是过滤流(FilterInputStream和FilterOutputStream)的子类,同时实现了DataInput和DataOutput接口。DataInputStream可以从输入流中读取各种基本类型的数据,如boolean、int等,而...
在本案例中,我们构建了一个基于Socket编程的简单C/S应用。 #### 二、Socket编程简介 Socket是TCP/IP协议族中的一个重要概念,用于在网络中的两台计算机之间建立连接并进行数据传输。在Java中,可以通过`java.net....
在 ChatClient.java 中,我们使用 DataInputStream 和 DataOutputStream 类来读取和写入数据。 4. 线程 线程是指在程序中使用多线程来实现并发执行的技术。Java 语言提供了 Thread 类来实现这种技术。Thread 类...
在实际编程中,除了Socket和ServerSocket,我们还会用到`java.io`包中的流类,如InputStream和OutputStream,以及它们的子类,如DataInputStream和DataOutputStream,用于处理字节流的读写。同时,异常处理也是必不...