一、DataOutputStream类(了解)
### --- 基本概念
——> java.io.DataOutputStream类主要用于以适当的方式将基本数据类型写入输出流中。
二、常用的方法
方法声明 | 功能介绍 |
DataOutputStream(OutputStreamout) | 根据参数指定的引用构造对象 OutputStream类是个抽象类,实参需要传递子类对象 |
void writeInt(int v) | 用于将参数指定的整数一次性写入输出流,优先写入高字节 |
void close() | 用于关闭文件输出流并释放有关的资源 |
三、DataInputStream类(了解)
### --- 基本概念
——> java.io.DataInputStream类主要用于从输入流中读取基本数据类型的数据。
四、常用的方法
方法声明 | 功能介绍 |
DataInputStream(InputStreamin) | 根据参数指定的引用来构造对象 InputStream类是抽象类,实参需要传递子类对象 |
int readInt() | 用于从输入流中一次性读取一个整数数据并返回 |
void close() | 用于关闭文件输出流并释放有关的资源 |
五、编程代码
package com.yanqi.task17;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataOutputStreamTest {
public static void main(String[] args) {
DataOutputStream dos = null;
try {
// 1.创建DataOutputStream类型的对象与d:/a.txt文件关联
dos = new DataOutputStream(new FileOutputStream("d:/a.txt"));
// 2.准备一个整数数据66并写入输出流
// 66: 0000 0000 ... 0100 0010 => B
int num = 66;
//dos.writeInt(num); // 写入4个字节
dos.write(num); // 写入1个字节
System.out.println("写入数据成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
// 3.关闭流对象并释放有关的资源
if (null != dos) {
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
六、编译打印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=57385:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task17.DataOutputStreamTest
写入数据成功!
Process finished with exit code 0
七、编程代码
package com.yanqi.task17;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class DataInputStreamTest {
public static void main(String[] args) {
DataInputStream dis = null;
try {
// 1.创建DataInputStream类型的对象与d:/a.txt文件关联
dis = new DataInputStream(new FileInputStream("d:/a.txt"));
// 2.从输入流中读取一个整数并打印
//int res = dis.readInt(); // 读取4个字节
int res = dis.read(); // 读取1个字节
System.out.println("读取到的整数数据是:" + res); // 66
} catch (IOException e) {
e.printStackTrace();
} finally {
// 3.关闭流对象并释放有关的资源
if (null != dis) {
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
八、编译打印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=63717:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task17.DataInputStreamTest
读取到的整数数据是:66
Process finished with exit code 0