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常用输入输出流的使用方法,希望对你有所帮助。