DataOutputStream and DataInputStream
1、在io包中,提供了两个与平台无关的数据操作流
数据输出流(DataOutputStream)
数据输入流(DataInputStream)
2、通常数据输出流会按照一定的格式将数据输出,再通过数据输入流按照一定的格式将数据读入
-------------------------------------------------------------------------------------
(1)DataOutputStream
package org.example.io;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestDataOutputStream {
public static void main(String[] args) throws IOException {
DataOutputStream dos = null;
File f = new File("e:\\s\\test\\a.txt");
dos = new DataOutputStream(new FileOutputStream(f));
String[] name = {"衬衫", "手套", "围巾"};
float[] price = {98.3f, 30.3f, 50.5f};
int[] num = {3, 2, 1};
for (int i = 0; i < name.length; i++) {
dos.writeChars(name[i]);
dos.writeChar('\t');
dos.writeFloat(price[i]);
dos.writeChar('\t');
dos.writeInt(num[i]);
dos.writeChar('\n');
}
dos.flush();
dos.close();
}
}
-------------------------------------------------------------------------------------
(2)DataInputStream
package org.example.io;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class TestDataInputStream {
public static void main(String[] args) {
DataInputStream dis = null;
File f = new File("e:\\s\\test\\a.txt");
try {
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' */
while (true) {
temp = new char[200];
len = 0;
while ((c = dis.readChar()) != '\t') { /* 单个字符地循环读取商品名称 */
temp[len] = c;
len++;
}
name = new String(temp, 0, len); /* 商品名称 */
price = dis.readFloat(); /* 读取价格 */
dis.readChar(); /* 读取\t */
num = dis.readInt(); /* 读取数量 */
dis.readChar(); /* 读取\n */
System.out.println("Name:"+name+"\t\tPrice:"+price+"\tNum:"+num);
}
} catch (FileNotFoundException e2) {
e2.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (dis != null) {
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
DataOutputStream and DataInputStream的更多相关文章
- Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
Java基础-IO流对象之数据流(DataOutputStream与DataInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据流特点 操作基本数据类型 ...
- Java IO操作——数据操作流DataOutputStream和DataInputStream的使用
学习目标 掌握DataOutputStream和DataInputStream的作用 可以使用DataOutputStream和DataInputStream写入和读入数据 数据操作流 在io包中, ...
- JAVA IO操作:数据操作流:DataOutputStream和DataInputStream
掌握DataOutputStream和DataInputStream的作用. 可以使用DataOutputStream和DataInputStream写入和读取数据. 在IO包中提供了两个与平台无关的 ...
- [Java] 读写字节数据,过滤流DataOutputStream和DataInputStream
package test.stream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io ...
- 数据操作流DataOutputStream、DataInputStream类
[例子1] import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import ...
- 数据流:DataOutputStream与DataInputStream的使用
看这两个类的名字就不难猜测出它们的类关系图. DataOutputStream: 主要是一些writeXxx()操作,写出, 相当于序列化 DataInputStream: 主要是一些readXxx( ...
- Java基础:浅谈数据输入流/数据输出流《DataInputstream类与DataOutputstream类》
一.理论概述 数据输入/输出流(DataInputStream类与DataOutputStream类) 允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型. 说白了就是,当读取一个 ...
- Java IO(十一) DataInputStream 和 DataOutputStream
Java IO(十一) DataInputStream 和 DataOutputStream 一.介绍 DataInputStream 和 DataOutputStream 是数据字节流,分别继承自 ...
- java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例
本章介绍DataOutputStream.我们先对DataOutputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解. 转载请注明出处:http://www.cnblog ...
随机推荐
- 2019南昌网络赛-I(单调栈+线段树)
题目链接:https://nanti.jisuanke.com/t/38228 题意:定义一段区间的值为该区间的和×该区间的最小值,求给定数组的最大的区间值. 思路:比赛时还不会线段树,和队友在这题上 ...
- Codeforces Round #485 (Div. 2)
Codeforces Round #485 (Div. 2) https://codeforces.com/contest/987 A #include<bits/stdc++.h> us ...
- mysql数据库优化(转)
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...
- json对象和字符串的相互转换
JSON.stringify(obj) 将JSON对象转为字符串. JSON.parse(string) 将字符串转为JSON对象格式. 后台给你数据的时候,有时候会给你字符串 ...
- pythone函数基础(15)接口开发初识
导入需要的第三方模块 import flaskimport toolsimport json,redisimport random server = flask.Flask(__name__)#新建一 ...
- 48-设置tomcat虚拟路径的两种方法(Eclipse、tomcat、IDEA)
设置tomcat虚拟路径的两种方法(Eclipse.tomcat.IDEA) 三种方式设置虚拟服务器路径如果我们要实现一个上传文件的功能,但是又想要上传的文件不会随着自己web服务器的重启而不能访问了 ...
- iview组件select无法手动设置值
听小伙伴说iview的作者已经修复这个bug了,因为我们的组件库是copyiview后修改的,所以没有更新代码 这里提供一个方法 <i-select :ref="'signSlectR ...
- Newtonsoft.Json 你必须知道的一些用法
最近在做接口开发,对方团队开发了一个Web API 的接口,传输数据的格式是 JSON.当时看到这个东西,感觉很简单,也没想什么,没用多久就完成了我的功能,我完成的功能很简单,就是获取数据,然后把数据 ...
- [转] spring framework体系结构及内部各模块jar之间的maven依赖关系
很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...
- 12.Redis运维点
12.Redis运维点12.1 Linux配置优化12.1.1 内存分配控制12.1.2 swappiness12.1.3 THP12.1.4 OOM killer12.1.5 使用NTP12.1.6 ...