import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; public class DataOutputStreamDemo { public static void main(String args[]) throws Exception { // 所有异常抛出 DataOutputStream dos = null; // 声明数据输出流对象 File f = new File("d:" + File.separator + "order.txt"); // 文件的保存路径 dos = new DataOutputStream(new FileOutputStream(f)); // 实例化数据输出流对象 String names[] = { "衬衣", "手套", "围巾" }; // 商品名称 float prices[] = { 98.3f, 30.3f, 50.5f }; // 商品价格 int nums[] = { 3, 2, 1 }; // 商品数量 for (int i = 0; i < names.length; i++) { // 循环输出 dos.writeChars(names[i]); // 写入字符串 dos.writeChar('\t'); // 写入分隔符 dos.writeFloat(prices[i]); // 写入价格 dos.writeChar('\t'); // 写入分隔符 dos.writeInt(nums[i]); // 写入数量 dos.writeChar('\n'); // 换行 } dos.close(); // 关闭输出流 } };
import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; public class DataInputStreamDemo { public static void main(String args[]) throws Exception { // 所有异常抛出 DataInputStream dis = null; // 声明数据输入流对象 File f = new File("d:" + File.separator + "order.txt"); // 文件的保存路径 dis = new DataInputStream(new FileInputStream(f)); // 实例化数据输入流对象 String name = null; // 接收名称 float price = 0.0f; // 接收价格 int num = 0; // 接收数量 char temp[] = null; // 接收商品名称 int len = 0; // 保存读取数据的个数 char c = 0; // '\u0000' try { while (true) { temp = new char[200]; // 开辟空间 len = 0; while ((c = dis.readChar()) != '\t') { // 接收内容 temp[len] = c; len++; // 读取长度加1 } name = new String(temp, 0, len); // 将字符数组变为String price = dis.readFloat(); // 读取价格 dis.readChar(); // 读取\t num = dis.readInt(); // 读取int dis.readChar(); // 读取\n System.out.printf("名称:%s;价格:%5.2f;数量:%d\n", name, price, num); } } catch (Exception e) { } dis.close(); } }
5.2f 表示的是 总共的数字长度为5位,其中2位表示小数,3位表示整数。
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class TestDataStream { public static void main(String[] args) { // 使用DataInputStream,DataOutputStream写入文件且从文件中读取数据。 try { // Data Stream写到输入流中 DataOutputStream dos = new DataOutputStream(new FileOutputStream( "datasteam.txt")); dos.writeBytes("世界"); //按2字节写入,都是写入的低位 dos.writeChars("世界"); // 按照Unicode写入 // 按照UTF-8写入(UTF8变长,开头2字节是由writeUTF函数写入的长度信息,方便readUTF函数读取) dos.writeUTF("世界"); dos.flush(); dos.close(); // Data Stream 读取 DataInputStream dis = new DataInputStream(new FileInputStream( "datasteam.txt")); // 读取字节 byte[] b = new byte[2]; dis.read(b); System.out.println(new String(b, 0, 2)); // 读取字符 char[] c = new char[2]; for (int i = 0; i < 2; i++) { c[i] = dis.readChar(); } System.out.println(new String(c, 0, 2)); // 读取UTF System.out.println(dis.readUTF()); dis.close(); } catch (IOException e) { e.printStackTrace(); } } }
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class TestDataStream { public static void main(String[] args) { // 使用DataInputStream,DataOutputStream写入文件且从文件中读取数据。 try { // Data Stream写到输入流中 DataOutputStream dos = new DataOutputStream(new FileOutputStream( "datasteam.txt")); dos.write("世界".getBytes()); // 按UTF8编码(我的系统默认编码方式)写入 //dos.write("世界".getBytes("GBK")); //指定其他编码方式 dos.writeChars("世界"); // 按照Unicode写入 // 按照UTF-8写入(UTF8编码长度可变,开头2字节是由writeUTF函数写入的长度信息,方便readUTF函数读取) dos.writeUTF("世界"); dos.flush(); dos.close(); // Data Stream 读取 DataInputStream dis = new DataInputStream(new FileInputStream( "datasteam.txt")); // 读取字节 byte[] b = new byte[6]; dis.read(b); System.out.println(new String(b, 0, 6)); // 读取字符 char[] c = new char[2]; for (int i = 0; i < 2; i++) { c[i] = dis.readChar(); } System.out.println(new String(c, 0, 2)); // 读取UTF System.out.println(dis.readUTF()); dis.close(); } catch (IOException e) { e.printStackTrace(); } } }
参考:http://blog.csdn.net/fishwjy/article/details/38092985
相关推荐
利用DataOutputStream和DataInputStream实现由android客户端利用Socket向java服务器不间断传输图片,很好用。之间试过由OutpuStream.write(byte[])以及先将图片byte[]通过Base64加密转换为String再发送,效果都不好...
本实验主要介绍了 Java 中的输入输出流,包括 DataInputStream、DataOutputStream、PrintStream 等类的使用,以及对象的序列化和反序列化。通过实验,我们可以掌握流的概念分类、字符串常用操作方法、流的构造和应用...
这个例子展示了如何在Java中使用`DataInputStream`和`DataOutputStream`进行基本数据类型的读写操作。值得注意的是,这两个类的使用通常伴随着异常处理,如`IOException`,因为I/O操作可能会出现错误。因此,在实际...
在提供的视频教程"Java基础第16天-05.DataInputStream-DataOutputStream-FilterStream.avi"中,IT十八掌徐培成老师会详细讲解如何使用这些类进行数据的读写操作,包括它们的基本用法、异常处理以及与其他流的组合...
可以使用DataOutputStream和DataInputStream写入和读取数据。 在IO包中提供了两个与平台无关的数据操作流 数据输出流:DataOutputStream 数据输入流:DataInputStream 通常按照一定格式将输入输出,再按照...
- `DataOutputStream`和`DataInputStream`:提供读写Java基本类型数据(如int、long)的能力,`writeUTF`和`readUTF`方法用于处理UTF-8编码的字符串。 - `PrintStream`和`PrintWriter`:方便地打印数据,`...
在Java编程语言中,`DataInputStream`和`DataOutputStream`是用于处理基本数据类型的输入输出操作的类。这两个类在处理二进制数据时非常有用,因为它们提供了以机器无关的方式来读取和写入基本Java数据类型的方法。...
DataOutputStream用来将数据写入到Socket的输出流中,DataInputStream用来从Socket的输入流中读取数据。 总结 本文详细介绍了Java基于Socket实现的客户端和服务端通信功能,包括客户端和服务器端的实现、连接和...
根据不同的数据类型和操作方式,I/O流分为多个类别,主要包括数据流、对象流、字节流和字符流。 1. **数据流**: 数据流主要指的是InputStream和OutputStream这两类基本流。InputStream是所有读取数据的流的基类,...
Java数据输入输出流是Java IO库中的重要组成部分,主要用于处理不同数据类型的输入和输出操作,尤其是在文件和网络通信中。本文将深入探讨DataInputStream和DataOutputStream这两个类以及它们所关联的DataInput和...
此外,DataInputStream和DataOutputStream则提供了读写基本数据类型(如int、float)的能力。 2. 字符流:Reader和Writer是字符输入流和输出流的基类,它们处理Unicode字符。FileReader和FileWriter专门用于读写...
在Java编程中,数据输入输出流(DataInputStream和DataOutputStream)是用于处理基本数据类型和字符串的I/O操作的重要工具。这两个类提供了机器无关的读写功能,使得在不同平台之间交换数据变得更加简单。本文将详细...
3. 数据交换:在 Java 中,我们使用 DataOutputStream 和 DataInputStream 来进行数据交换。DataOutputStream 用于将数据写入到流中,而 DataInputStream 用于从流中读取数据。 实验总结 通过这两个实验,我们可以...
Java IO 中的 File 类、输入流和输出流是处理输入输出操作的基本类和方法,BufferedOutputStream、BufferedInputStream、DataOutputStream 和 DataInputStream 等过滤流提供了带缓冲的读写和基本数据类型的读写功能...
3. **DataInputStream** 和 **DataOutputStream**:这两个类提供了读写基本数据类型(如int、float、double等)的方法。它们通常用于序列化和反序列化数据,使得数据能在不同的Java程序之间交换。 4. **FileReader*...
根据给定文件的信息,我们可以提炼出关于Java软件开发中数据流相关的知识点,特别是针对`DataInputStream`类及其在文件和内存中的使用。 ### 13.7 数据流 #### DataInputStream 类 `DataInputStream`是Java中用于...
常见的数据流类型有 DataInputStream 和 DataOutputStream。 十一、ByteArrayOutputStream 和 ByteArrayInputStream ByteArrayOutputStream 是一种字节数组流,用于将数据写入到字节数组中。ByteArrayInputStream ...
`DataInputStream`和`DataOutputStream`提供了读写基本数据类型(如int、float等)的便捷方法。 7. 文件操作: Java中的文件操作通常通过`File`类进行,包括创建、删除、重命名等。文件的读写则使用前面提到的流...
例如,使用`DataInputStream`和`DataOutputStream`可以方便地读写基本类型的数据,`ObjectInputStream`和`ObjectOutputStream`则支持对象的序列化和反序列化。 对于网络编程,Java的流模型同样适用,如`Socket`和`...