您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第三季学习笔记-IO之数据流
发布时间:2017-08-10 15:04:12编辑:雪饮阅读()
DataInputStream
public class DataInputStream extends FilterInputStream implements DataInput
数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本java数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。
DataInputStream对于多线程访问不一定是安全的。线程安全是可选的,它由此类方法的使用者负责。
DataOutputStream
public class DataOutputStream extends FilterOutputStream implements DataOutput
数据输出流允许应用程序以适当方式将基本java数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。
示例:写入
package com.vince.data;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class DataStreamDemo {
public static void write(){
String filePath="E:"+File.separator+"duminjie_love_gaojiupan"+File.separator+"BaiduNetdiskDownload.txt";
try {
OutputStream out = new FileOutputStream(filePath);
//根据字节输出流构造一个数据输出流
DataOutputStream dos=new DataOutputStream(out);
//输出一个整数(如果在文件中则会乱码,但实际上数字还是确实写入成功的,只是编辑器对dos.writeInt写入的由于数据类型等原因导致无法正常解析罢了)
dos.writeInt(1);
dos.writeUTF(" 许你宁折不弯,就许我展闪腾挪。");
dos.close();
out.close();
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void main(String[] args) {
write();
}
}
代码示例:读取
package com.vince.data;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
public class DataStreamDemo {
public static void reader(){
String filePath="E:"+File.separator+"duminjie_love_gaojiupan"+File.separator+"BaiduNetdiskDownload.txt";
try {
InputStream in = new FileInputStream(filePath);
//根据字节输入流构造一个数据输入流
DataInputStream dis=new DataInputStream(in);
int flag =dis.readInt();//读取一个整数
String info=dis.readUTF();//读取一个UTF编码的字符串
//关闭流
dis.close();
in.close();
System.out.println("flag="+flag);
System.out.println("info="+info);
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void main(String[] args) {
reader();
}
}
关键字词:javase,io,数据流