public class Test15 { public static void main(String[] args) { try { DataOutputStream out = new DataOutputStream(new FileOutputStream("dest.txt")); out.writeInt(101); out.writeLong(123456); out.writeFloat(3.1415926f); out.close(); DataInputStream in = new DataInputStream(new FileInputStream("dest.txt")); System.out.println(in.readInt()); System.out.println(in.readLong()); System.out.println(in.readFloat()); in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
时间: 2024-04-02 09:32:17 浏览: 25
这段代码会输出什么?
答案是:101、123456、3.1415927
这段代码创建了一个 DataOutputStream 对象 out,并向其中写入一个 int 值 101、一个 long 值 123456 和一个 float 值 3.1415926。然后,它关闭了输出流,并创建了一个 DataInputStream 对象 in,并从中读取了一个 int 值、一个 long 值和一个 float 值,并将它们分别打印出来。最后,它关闭了输入流。
因此,这段代码的输出分别是 101、123456 和 3.1415927。需要注意的是,输出的 float 值略有舍入误差,因为浮点数在计算机中是以二进制形式存储的,不能精确地表示所有的十进制小数。
相关问题
应用dataoutputstream类和datainputstream类,将整型数据101,长整型数据123456,单精度浮点型数据3.1415926写入到“dest.txt”文件中,然后从该文件中读取数据并重新显示在屏幕上。
### 回答1:
以下是Java代码实现:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
int i = 101;
long l = 123456L;
float f = 3.1415926f;
try {
// 写入数据到文件
FileOutputStream fos = new FileOutputStream("dest.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(i);
dos.writeLong(l);
dos.writeFloat(f);
dos.close();
// 从文件中读取数据并显示在屏幕上
FileInputStream fis = new FileInputStream("dest.txt");
DataInputStream dis = new DataInputStream(fis);
int iRead = dis.readInt();
long lRead = dis.readLong();
float fRead = dis.readFloat();
dis.close();
System.out.println("整型数据:" + iRead);
System.out.println("长整型数据:" + lRead);
System.out.println("单精度浮点型数据:" + fRead);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
输出结果为:
```
整型数据:101
长整型数据:123456
单精度浮点型数据:3.1415927
```
### 回答2:
Java中的DataOutputStream类和DataInputStream类非常适合简单数据类型的读写操作。本题中,我们需要将整型数据101,长整型数据123456和单精度浮点型数据3.1415926写入到“dest.txt”文件中,然后从该文件中读取数据并重新显示在屏幕上。
我们可以使用以下代码实现写入操作:
```
try {
DataOutputStream out = new DataOutputStream(new FileOutputStream("dest.txt"));
out.writeInt(101);
out.writeLong(123456L);
out.writeFloat(3.1415926f);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
```
在上述代码中,我们使用了FileOutputStream类创建了一个名为“dest.txt”的输出流,并将其传递给了DataOutputStream类。然后我们使用out.writeInt(),out.writeLong()和out.writeFloat()方法将整数、长整数和浮点数写入输出流中。最后我们调用了out.close()方法关闭了输出流。
接下来,我们可以使用以下代码从文件中读取数据并在屏幕上显示:
```
try {
DataInputStream in = new DataInputStream(new FileInputStream("dest.txt"));
int i = in.readInt();
long l = in.readLong();
float f = in.readFloat();
System.out.println("i = " + i);
System.out.println("l = " + l);
System.out.println("f = " + f);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
```
在上述代码中,我们使用了FileInputStream类创建了一个名为“dest.txt”的输入流,并将其传递给了DataInputStream类。然后我们依次使用in.readInt(),in.readLong()和in.readFloat()方法从文件中读取数据。最后我们在屏幕上显示了读取到每个数据的值。
综上,我们可以使用DataOutputStream类和DataInputStream类将整型数据、长整型数据和单精度浮点型数据写入到文件中,并从文件中读取数据并重新显示在屏幕上。
### 回答3:
DataOutputStream类和DataInputStream类是Java编程中用于进行二进制数据输入和输出的工具类。本题的要求是使用这两个类将整型数据101、长整型数据123456和单精度浮点型数据3.1415926写入到“dest.txt”文件中,再读取这些数据并在屏幕上重新显示。
首先,我们需要创建DataOutputStream类的实例对象,指定输出的文件名为“dest.txt”。然后,通过调用writeInt()、writeLong()和writeFloat()方法分别将101、123456和3.1415926写入到输出流中。最后,调用close()方法关闭输出流,确保数据被正确地写入文件中。
代码如下所示:
```
import java.io.*;
public class DataOutputStreamTest {
public static void main(String[] args) throws IOException {
// 创建DataOutputStream类的实例对象
DataOutputStream dos = new DataOutputStream(new FileOutputStream("dest.txt"));
// 将数据写入输出流中
dos.writeInt(101);
dos.writeLong(123456L);
dos.writeFloat(3.1415926F);
// 关闭输出流
dos.close();
// 读取文件中的数据并重新显示在屏幕上
DataInputStream dis = new DataInputStream(new FileInputStream("dest.txt"));
System.out.println(dis.readInt()); // 输出101
System.out.println(dis.readLong()); // 输出123456
System.out.println(dis.readFloat()); // 输出3.1415925
dis.close();
}
}
```
一些需要注意的点如下:
- 必须使用DataOutputStream的writeInt()方法写入整型数据,使用writeLong()方法写入长整型数据,使用writeFloat()方法写入单精度浮点型数据。
- 在读取文件数据时,必须严格按照写入的顺序读取,否则数据会出现错误。具体来说,一定要先读取整型数据,再读取长整型数据,最后读取单精度浮点型数据。
- 在读取完数据后,一定要调用DataInputStream的close()方法关闭输入流,确保资源被正确地释放。
综上所述,本题考察了二进制数据输入输出的基本操作和文件读写的基本知识点,熟练掌握这些知识对于进行Java编程非常重要。
应用DataOutputStream类和DataInputStream类,将整型数据101,长整型数据123456,单精度浮点型数据3.1415926写入到“dest.txt”文件中,然后从该文件中读取数据并重新显示在屏幕上。
好的,我会按照你的要求来回答你的问题。以下是使用DataOutputStream类和DataInputStream类将数据写入文件并读取的Java代码:
```java
import java.io.*;
public class DataStreamExample {
public static void main(String[] args) throws IOException {
// 创建输出流,将数据写入文件
DataOutputStream out = new DataOutputStream(new FileOutputStream("dest.txt"));
out.writeInt(101);
out.writeLong(123456L);
out.writeFloat(3.1415926f);
out.close();
// 创建输入流,从文件中读取数据
DataInputStream in = new DataInputStream(new FileInputStream("dest.txt"));
int i = in.readInt();
long l = in.readLong();
float f = in.readFloat();
in.close();
// 显示读取的数据
System.out.println("整型数据:" + i);
System.out.println("长整型数据:" + l);
System.out.println("单精度浮点型数据:" + f);
}
}
```
运行代码后,会在控制台上显示以下结果:
```
整型数据:101
长整型数据:123456
单精度浮点型数据:3.1415927
```
注意:由于浮点型数据的精度问题,读取的值可能与写入的值略有不同。
阅读全文