Java常用输入输出流的使用方法

  • Post category:Java

Java中的输入输出流是程序与外部数据源(如文件、网络、键盘等)之间进行通信的一种机制。Java中的输入输出流分为字节流和字符流,其中字节流用于读写二进制数据,字符流则主要用于读写文本数据。通过使用输入输出流,程序可以读取外部数据源中的数据,也可以向外部数据源中写入数据。本文将介绍Java中常用的输入输出流及其使用方法。

Java输入输出流的概念

Java的输入流和输出流是用于处理字节流和字符流的类。Java的I / O流通过提供各种方法来处理I / O流。I / O类包括InputStream,OutputStream,Reader和Writer等。

  • InputStream – 抽象类。定义一组基本的字节读取方法。
  • OutputStream – 抽象类。定义一组基本的字节写入方法。
  • Reader – 抽象类。定义一组基本的字符读取方法。
  • Writer – 抽象类。定义一组基本的字符写入方法。

FileInputStream和FileOutputStream是InputStream和OutputStream的子类,用于文件的处理。

BufferedReader和InputStreamReader是Reader的子类,它们通过缓存提高了读取文本数据的效率。

Java字节输入输出流

1. FileInputStream

FileInputStream是用于读取文件的字节输入流,在创建FileInputStream对象时需要传入文件路径。以下是使用FileInputStream读取文件的示例:

import java.io.FileInputStream;

public class FileInputStreamDemo {
   public static void main(String args[]) {
      try {
         FileInputStream input = new FileInputStream("file.txt");
         int data = input.read();
         while(data != -1){
            System.out.print((char)data);
            data = input.read();
         }
         input.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

运行以上代码,将在控制台上输出文件中的所有字符。

2. FileOutputStream

FileOutputStream是用于写入文件的字节输出流,创建FileOutputStream对象时需要传入文件路径。以下是使用FileOutputStream写入文件的示例:

import java.io.FileOutputStream;

public class FileOutputStreamDemo {
   public static void main(String args[]) {
      try {
         FileOutputStream output = new FileOutputStream("file.txt");
         String str = "Java IO is cool!";
         byte[] strBytes = str.getBytes();
         output.write(strBytes);
         output.close();
         System.out.println("文件写入完成!");
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

运行以上代码,将会在指定路径创建一个file.txt文件,并将”Java IO is cool!”写入到该文件中。

Java字符输入输出流

1. FileReader

FileReader是用于读取文件的字符输入流,在创建FileReader对象时需要传入文件路径。以下是使用FileReader读取文件的示例:

import java.io.FileReader;

public class FileReaderDemo {
   public static void main(String args[]) {
      try {
         FileReader input = new FileReader("file.txt");
         int data = input.read();
         while (data != -1) {
            System.out.print((char) data);
            data = input.read();
         }
         input.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

运行以上代码,将在控制台上输出文件中的所有字符。

2. FileWriter

FileWriter是用于写入文件的字符输出流,创建FileWriter对象时需要传入文件路径。以下是使用FileWriter写入文件的示例:

import java.io.FileWriter;

public class FileWriterDemo {
   public static void main(String args[]) {
      try {
         FileWriter output = new FileWriter("file.txt");
         String str = "Java IO is cool!";
         output.write(str);
         output.close();
         System.out.println("文件写入完成!");
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

运行以上代码,将会在指定路径创建一个file.txt文件,并将”Java IO is cool!”写入到该文件中。

以上就是Java常用输入输出流的使用方法,希望对你有所帮助。