package s5; import java.io.*; public class Sy5_4 { public static void main(String[] args) { // 写入基本类型数据到DataFile.data文件中 try { DataOutputStream dos = new DataOutputStream(new FileOutputStream("DataFile.data")); dos.writeInt(123); dos.writeBoolean(true); dos.writeDouble(3.14); dos.writeUTF("Hello World"); dos.close(); } catch (IOException e) { e.printStackTrace(); } // 从DataFile.data文件中读取数据并显示 try { DataInputStream dis = new DataInputStream(new FileInputStream("DataFile.data")); int num = dis.readInt(); boolean flag = dis.readBoolean(); double pi = dis.readDouble(); String str = dis.readUTF(); dis.close(); System.out.println(num); System.out.println(flag); System.out.println(pi); System.out.println(str); } catch (IOException e) { e.printStackTrace(); } } }
时间: 2024-02-14 18:21:58 浏览: 26
这段代码是用 Java 编写的,实现了将基本类型数据写入到文件中,再从文件中读取数据并显示的功能。具体实现是通过 DataOutputStream 和 DataInputStream 两个类来完成的。
在写入数据时,先创建一个 DataOutputStream 对象,指定输出流为 FileOutputStream 对象,并调用其相应的写入方法写入数据,最后关闭输出流。在读取数据时,先创建一个 DataInputStream 对象,指定输入流为 FileInputStream 对象,并调用其相应的读取方法读取数据,最后关闭输入流。
相关问题
分析以下代码package s5; import java.io.FileInputStream; import java.io.IOException; public class Sy5_1 { public static void main(String[] args) { try { // 创建FileInputStream对象 FileInputStream fis = new FileInputStream("myfile.txt"); // 读取文件内容并输出到屏幕上 int content; while ((content = fis.read()) != -1) { System.out.print((char) content); } // 关闭流 fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
这段代码是一个Java程序,主要功能是读取指定文件的内容并输出到屏幕上。
具体分析如下:
1. 第一行代码指定了代码所在的包名为s5。
2. 第二行和第三行分别引入了Java的两个IO类:FileInputStream和IOException。
3. 第四行定义了一个名为Sy5_1的公共类(public class),这个类包含了一个名为main的静态方法(public static void main(String[] args))。
4. 在main方法中,首先创建了一个FileInputStream对象,该对象的参数为myfile.txt,即要读取的文件名。
5. 接下来使用while循环,读取文件内容并输出到屏幕上。循环的条件是当读取的内容不为-1时继续循环,-1表示已经读到文件末尾。
6. 最后关闭流,释放资源。如果发生异常,则打印异常信息。
需要注意的是,这段代码中的异常处理比较简单,只是简单地打印了异常信息,并没有进行具体的处理。在实际开发中,应该根据具体情况进行更加详细的异常处理。
分析以下代码思路package s5; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Sy5_2 { public static void main(String[] args) { try { // 创建FileInputStream对象读取输入文件 FileInputStream fis = new FileInputStream("myInputfile.txt"); // 创建FileOutputStream对象写入输出文件 FileOutputStream fos = new FileOutputStream("myOutputfile.txt"); // 读取输入文件并写入输出文件 int content; while ((content = fis.read()) != -1) { fos.write(content); } // 关闭流 fis.close(); fos.close(); } catch (IOException e) { e.printStackTrace(); } } }
这段代码的主要思路是将一个文件的内容读取出来并写入到另一个文件中。
具体分析如下:
1. 第一行代码指定了代码所在的包名为s5。
2. 第二行到第四行依次引入了Java的三个IO类:FileInputStream、FileOutputStream和IOException。
3. 第五行定义了一个名为Sy5_2的公共类(public class),这个类包含了一个名为main的静态方法(public static void main(String[] args))。
4. 在main方法中,首先创建了一个FileInputStream对象,该对象的参数为myInputfile.txt,即要读取的文件名。
5. 然后创建了一个FileOutputStream对象,该对象的参数为myOutputfile.txt,即要写入的文件名。
6. 接下来使用while循环,读取输入文件的内容并写入到输出文件中。循环的条件是当读取的内容不为-1时继续循环,-1表示已经读到文件末尾。
7. 最后关闭输入流和输出流,释放资源。如果发生异常,则打印异常信息。
需要注意的是,这段代码中的异常处理比较简单,只是简单地打印了异常信息,并没有进行具体的处理。在实际开发中,应该根据具体情况进行更加详细的异常处理。同时,如果要读取和写入的文件内容较大,建议使用缓冲流进行处理,可以提高读写性能。