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

Java函数-如何使用Java中的IO流读写文件?

发布时间:2023-06-08 05:42:41

Java的IO流文件处理是非常重要的,这是因为很多时候需要从外部文件读取数据或将数据写入到外部文件中。Java提供了一套完整的IO流机制,使得开发者可以方便的读写文件。

读取文件

在Java中读取文件有两种方式:使用字节流和使用字符流。

使用字节流读取文件

在使用字节流读取文件的时候,需要使用Java.io包中的FileInputStream类。它是一个继承自InputStream抽象类的具体实现类。

以下是使用字节流读取文件的一个例子:

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

public class ReadFileExample {
  public static void main(String[] args) {
    try (FileInputStream fis = new FileInputStream("file.txt")) {
      int ch;
      while ((ch = fis.read()) != -1) {
        System.out.print((char)ch);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

在上面的代码中,首先创建了一个FileInputStream对象,它的构造函数会接收需要打开的文件名作为参数。然后使用while循环逐个读取文件中的字符,直到读到文件末尾为止。读取到的每个字节都需要强制转换成字符。

使用字符流读取文件

使用字符流读取文件比使用字节流读取文件更加方便,这是因为FileReader类可以直接读取已有的文件内容,并把内容以Java字符串的形式返回。

以下是使用字符流读取文件的一个例子:

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

public class ReadFileExample {
  public static void main(String[] args) {
    try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
      String line;
      while ((line = br.readLine()) != null) {
        System.out.println(line);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

在上面的代码中,首先创建了一个BufferedReader对象,它的构造函数接收一个FileReader对象作为参数。然后使用while循环逐行读取文件中的内容。

写入文件

在Java中写入文件同样也有两种方式:使用字节流和使用字符流。

使用字节流写入文件

在使用字节流写入文件的时候,需要使用Java.io包中的FileOutputStream类。

以下是使用字节流写入文件的一个例子:

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

public class WriteFileExample {
  public static void main(String[] args)  {
    try (FileOutputStream fos = new FileOutputStream("file.txt")) {
      String data = "Hello, World!";
      byte[] bytes = data.getBytes();
      fos.write(bytes);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

在上面的代码中,首先创建了一个FileOutputStream对象。然后定义了一个字符串变量data,它的内容将会写入到文件中。接着将字符串data转换成字节数组bytes,然后通过FileOutputStream对象将bytes写入到文件中。

使用字符流写入文件

在使用字符流写入文件的时候,需要使用Java.io包中的FileWriter类。

以下是使用字符流写入文件的一个例子:

import java.io.FileWriter;
import java.io.IOException;

public class WriteFileExample {
  public static void main(String[] args)  {
    try (FileWriter fw = new FileWriter("file.txt")) {
      String data = "Hello, World!";
      fw.write(data);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

在上面的代码中,首先创建了一个FileWriter对象。然后定义了一个字符串变量data,它的内容将会写入到文件中。接着通过FileWriter对象将字符串data写入到文件中。

总结

Java的IO流文件处理是非常重要的,开发者可以通过Java中的IO流机制方便的读写文件。Java提供了一套完整的IO流 API,开发者可以根据自己的需求选择合适的读写方式。在读写文件的时候,需要注意文件的编码格式,在处理中文等特殊字符时需要谨慎处理。