数据操作流:输入、输出原生java数据类型
使用数据操作流输入、输出原生java数据类型的实例:
public class DataOutputStream extends FilterOutputStream implements DataOutput;
public DataOutputStream(OutputStream out);// 只接收字节输出流
public class DataInputStream extends FilterInputStream implements DataInput;
public DataInputStream(InputStream in); // 只接收字节输入流
———-数据输出流:DataOutputStream,写出指定格式的数据到磁盘文件:
package com.mldn;
import java.io.File;
import java.io.OutputStream;
import java.io.FileOutputStream;
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class DataOutputDemo
{
public static void main(String[] args)
{
String path = File.separator + “home” + File.separator + “administrator” + File.separator + “file.txt”;
File file = new File(path); // 实例化文件
OutputStream fos = null; // 声明输出流
DataOutputStream output = null; // 声明数据输出流
try
{
fos = new FileOutputStream(file);// 实例化文件输出流
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
output = new DataOutputStream(fos);// 实例化数据输出流
String[] names = {“衬衣”, “手套”, “围巾”}; // 商品名
float[] prices = {89.0f, 39.9f, 59.9f}; // 价格
int[] num = {10, 20, 30}; // 数量
try
{
for (int x = 0; x < names.length; x++) // 按格式输出数据
{
output.writeChars(names[x]); // 品名
output.writeChar(‘\t’); // 分隔符
output.writeFloat(prices[x]); // 价格
output.writeChar(‘\t’); // 分隔符
output.writeInt(num[x]); // 数量
output.writeChar(‘\n’); // 换行
}
System.out.printn(“数据写出完成!”);
}
catch (IOException e)
{
e.printStackTrace();
}
try
{
output.close(); // 关闭数据输出流
fos.close(); // 关闭字节输出流
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
———-数据输入流:DataInputStream
package com.mldn;
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.DataInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class DataInputDemo
{
public static void main(String[] args)
{
String path = File.separator + “home” + File.separator + “administrator” + File.separator + “file.txt”;
File file = new File(path); // 实例化文件
InputStream ips = null; // 声明输入流
DataInputStream input = null; // 声明数据输入流
try
{
ips = new FileInputStream(file);// 实例化文件输入流
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
input = new DataInputStream(ips);// 实例化数据输入流
char[] names = null; // 商品名
String name = null; // 商品名
float price = 0.0f; // 价格
int num = 0; // 数量
char temp = 0;
int len = 0;
try
{
while (true) // 按格式读入数据
{
names = new char[32];
while ((temp = input.readChar()) != ‘\t’)
{
names[len] = temp;
len++;
}
name = new String(names, 0, len); // 品名
price = input.readFloat(); // 价格
input.readChar(); // \t分隔符
num = input.readInt(); // 数量
input.readChar(); // \n分隔符
System.out.printf(“商品: %s 价格: %5.2f 数量: %d\n”, name, price, num);
}
}
catch (IOException e)
{
System.out.println(“数据读取完毕!”);
}
try
{
input.close(); // 关闭数据输入流
ips.close(); // 关闭字节输入流
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
/*
administrator@xu-desktop:~$ java com.mldn.DataInputDemo
商品: 衬衣 价格: 89.00 数量: 10
商品: 手套 价格: 39.90 数量: 20
商品: 围巾 价格: 59.90 数量: 30
数据读取完毕!
*/
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《数据操作流:输入、输出原生java数据类型》
本文地址:http://www.xiupu.net/archives-100.html
关注公众号:
微信赞赏
支付宝赞赏