欢迎访问宙启技术站
智能推送

使用Java IO函数读取和写入文件

发布时间:2023-06-07 18:16:08

Java IO函数(input/output functions)是用来读取和写入文件的方法。传统上,读取和写入文件在Java中使用IO流技术。Java IO提供了各种输入和输出流,以及其他的I/O类,用于将数据从内存传输到外部设备(磁盘文件、网络连接等),或者从外部设备读取数据到内存中。

Java IO流有两种类型:InputStream和OutputStream。InputStream用于读取文件或者读取字节流,最典型的如FileInputStream和ObjectInputStream。OutputStream用于写入文件或者写入字节流,最典型的如FileOutputStream和ObjectOutputStream。在应用程序中使用Java IO流的时候, 步是创建流对象并打开一个文件或者其他的数据源;第二步是使用流对象读取或者写入数据;第三步是关闭输入/输出流对象。Java IO提供了丰富的输入和输出流,可以适应不同的应用需求。例如:FileReader和FileWriter可以读取和写入字符文件(txt、xml等);ObjectInputStream和ObjectOutputStream可以对数据进行序列化和反序列化等操作。

以下是一些Java IO函数的示例:

读取文本文件:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class ReadTextFile {
   public static void main(String[] args) {
      BufferedReader reader = null;
      try {
         File file = new File("/path/to/file.txt");
         reader = new BufferedReader(new FileReader(file));
         String line;
         while ((line = reader.readLine()) != null) {
            System.out.println(line);
         }
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         try {
            if (reader != null) {
               reader.close();
            }
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
}

写入文本文件:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class WriteTextFile {
   public static void main(String[] args) {
      BufferedWriter writer = null;
      try {
         File file = new File("/path/to/file.txt");
         writer = new BufferedWriter(new FileWriter(file));
         writer.write("Hello World!");
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         try {
            if (writer != null) {
               writer.close();
            }
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
}

读取二进制文件:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadBinaryFile {
   public static void main(String[] args) {
      FileInputStream input = null;
      try {
         File file = new File("/path/to/file.bin");
         input = new FileInputStream(file);
         byte[] data = new byte[(int) file.length()];
         input.read(data);
         for (int i = 0; i < data.length; i++) {
            System.out.print(data[i] + " ");
         }
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         try {
            if (input != null) {
               input.close();
            }
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
}

写入二进制文件:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteBinaryFile {
   public static void main(String[] args) {
      FileOutputStream output = null;
      try {
         File file = new File("/path/to/file.bin");
         output = new FileOutputStream(file);
         byte[] data = { 0x00, 0x01, 0x02, 0x03 };
         output.write(data);
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         try {
            if (output != null) {
               output.close();
            }
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
}

总之,Java IO函数是Java应用程序处理输入和输出的核心组成部分。Java IO提供了许多功能强大的输入和输出流,可以帮助开发者读取和写入各种类型的数据,包括文本和二进制文件。在开发应用程序的时候,开发者应该根据应用程序的需求,选择最合适的Java IO函数来实现数据的读写操作。