-二进制文件
1、狭义上说,采用字节编码,非字符编码的文件
2、广义上说,一切文件都是二进制文件
3、用记事本无法打开
-二进制读写
1、输出数据到文件中
2、从文件中读取数据
FileOutputStream:节点类,负责写字节
BufferedOutputStream:装饰类,负责写字节数据到缓冲区
DataOutputStream:转化类,负责数据类型到字节转化
import java.io.*;
public class Person2{
public static void main(String[] args) throws Exception{
writeFile();
System.out.println(“done”);
}
public static void writeFile() {
// TODO Auto-generated method stub
FileOutputStream fos = null;
DataOutputStream dos = null;
BufferedOutputStream bos = null;
try {
fos = new FileOutputStream(“D:/temp1/abc.dat”);
dos = new DataOutputStream(fos);
bos = new BufferedOutputStream(bos);
dos.writeUTF(“a”);
dos.writeInt(20);
dos.writeInt(100);
dos.writeUTF(“b”);
}catch(Exception e) {
e.printStackTrace();
}finally {
try {
dos.close();
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
————————————————————————————
done
-读文件
打开文件,读入数据,关闭文件
import java.io.*;
public class Person2{
public static void main(String[] args) throws Exception{
readFile();
}
private static void readFile() {
// TODO Auto-generated method stub
try(DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(“D:/temp1/abc.dat”)))){
String a,b;
int c,d;
a=dis.readUTF();
c=dis.readInt();
d=dis.readInt();
b=dis.readUTF();
System.out.println(a);
System.out.println©;
System.out.println(d);
System.out.println(b);
}catch(Exception e) {
e.printStackTrace();
}
}
}
——————————————————————————、
a
20
100
b