Java中的IO流函数和使用实例
Java中的IO流函数和使用实例
Java中的IO(Input/Output)流是Java中常用的输入输出方式。Java中的IO流可以从文件、网络、标准输入输出等各种来源读取和写入数据。在Java中,IO流可以分为字节流和字符流两种类型。
字节流与字符流
字节流是以字节为单位读、写数据的,而字符流是以字符为单位读、写数据的。
字节流:
InputStream 和 OutputStream 是基本的字节流,在 Java 应用程序中非常常用。
FileInputStream 和 FileOutputStream 在 Java 中常用于与文件进行输入输出操作。
ByteArrayInputStream 和 ByteArrayOutputStream 可以将内存中的字节数组当成输入输出流。
DataInputStream 和 DataOutputStream 用于读写 Java 的基本数据类型以及字符串。
ObjectInputStream 和 ObjectOutputStream 用于读写 Java 的对象。
SocktInputStream 和 SocketOutputStream 用于在网络上进行输入输出操作。
字符流:
Reader 和 Writer 是基本的字符流,在 Java 应用程序中非常常用。
FileReader 和 FileWriter 在 Java 中常用于与文件进行输入输出操作。
StringReader 和 StringWriter 可以将字符串当成输入输出流。
BufferedReader 和 BufferedWriter 用于对文本文件进行缓冲处理。
PushbackReader 可以将一个字符或一个字符串“推回”到字符流的输入端。
InputStreamReaden 一般使用要指定字符编码方案。
使用实例:
1. 读取文件并显示
import java.io.*;
public class FileReadDemo {
public static void main(String[] args) {
try {
BufferedReader in = new BufferedReader(new FileReader("file.txt"));
String s;
while ((s = in.readLine()) != null) {
System.out.println(s);
}
in.close();
} catch (IOException e) {
System.err.println("Error: " + e.getMessage());
}
}
}
2. 读写字节流
import java.io.*;
public class CopyTest {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("input.txt");
FileOutputStream fos = new FileOutputStream("output.txt");
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fis.close();
fos.close();
} catch (IOException e) {
System.err.println("Error: " + e.getMessage());
}
}
}
3. 读写字符流
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
try {
FileReader fr = new FileReader("input.txt");
FileWriter fw = new FileWriter("output.txt");
int ch;
while ((ch = fr.read()) != -1) {
fw.write(ch);
}
fr.close();
fw.close();
} catch (IOException e) {
System.err.println("Error: " + e.getMessage());
}
}
}
总结:
Java中的IO流是一种很重要的输入输出方式,可以从文件、网络、标准输入输出等各种来源读取和写入数据。Java中的IO流可以分为字节流和字符流两种类型,它们各有不同的功能和用法。在实际应用中,我们需要根据需要选择不同的IO流,并且了解其具体的使用方法。
