数据操作流
在Java中提供了两个与平台无关的数据操作流,分别为数据输出流(DataOutputStream)和数据输入流(DataInputStream)。
就是类似于按照一定格式将数据读入文件,再按照一定格式将数据从文件读出,哈哈,小伙伴们请看下面的代码就懂了,实践大于一切!!!
数据输出流(DataOutputStream)的常用方法
数据输入流(DataInputStream)的常用方法
案例演示
向文件中输出数据
package chapter_twelve;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
public class DataOutputStreamDemo01 {
public static void main(String[] args) throws Exception {
File file = new File("D:" + File.separator + "test.txt"); //实例化文件类File对象
DataOutputStream dataOutputStream =
new DataOutputStream(new FileOutputStream(file)); //实例化数据输出流
String[] name = {"Java项目开发宝典","Python程序设计","高级程序语言设计基础"}; //定义名称数组
float[] price = {98.3f,22.8f,54.1f}; //定义价格数组
int[] num = {3,4,5}; //定义数量数组
for(int i = 0; i < name.length; i++){ //将这些数据循环写入文件
dataOutputStream.writeChars(name[i]); //写入名称
dataOutputStream.writeChar('\t'); //写入制表符
dataOutputStream.writeFloat(price[i]); //写入价格price
dataOutputStream.writeChar('\t'); //写入制表符
dataOutputStream.writeInt(num[i]); //写入数量
dataOutputStream.writeChar('\n'); //写入换行符
}
dataOutputStream.close(); //关闭数据输出流
}
}
结果
从文件中读取数据
package chapter_twelve;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
public class DataInputStreamDemo01 {
public static void main(String[] args) throws Exception{
File file = new File("D:" + File.separator + "test.txt"); //实例化File类实例file对象
DataInputStream dataInputStream =
new DataInputStream(new FileInputStream(file)); //实例化数据输入流对象
String name = null; //定义名称
float price = 0; //定义价格
int num = 0; //定义数量
for (int i = 0; i < 3; i++){ //将文件内的三行数据读出
char[] chars = new char[200];
int len = 0;
char c = 0;
while((c = dataInputStream.readChar()) != '\t'){ //循环读取名称
chars[len++] = c;
}
name = new String(chars,0,len); //变为字符串name
price = dataInputStream.readFloat(); //读取价格
dataInputStream.readChar(); //读取字符制表符
num = dataInputStream.readInt(); //读取数量
dataInputStream.readChar(); //读取换行符
System.out.printf("名称:%s; \t价格:%5.2f; \t数量:%d\n",name,price,num); //输出具体信息
}
dataInputStream.close(); //关闭数据输入流
}
}
结果
名称:Java项目开发宝典; 价格:98.30; 数量:3
名称:Python程序设计; 价格:22.80; 数量:4
名称:高级程序语言设计基础; 价格:54.10; 数量:5
总结
数据的输出输入流与数据的随机存取RandomAccessFile类有些类似,哈哈,其实我也不太是太会用,能够掌握就行。