输入流和输出流概念:输入流和输出流是 Java 中用于处理数据输入和输出的抽象概念。它们提供了一输入输出流种以字节为单位进行读取和写入数据的方式。
1. 输入流(InputStream):
用于从外部源读取数据。
主要用于读取文件、网络连接或其他输入来源的数据。
示例
// 读取文件内容
try (InputStream inputStream = new FileInputStream("file.txt")) {
int data;
while ((data = inputStream.read()) != -1) {
// 处理读取的数据
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
2. 输出流(OutputStream):
用于向外部目标写入数据。
主要用于向文件、网络连接或其他输出目标写入数据。
示例:
// 写入内容到文件
try (OutputStream outputStream = new FileOutputStream("file.txt")) {
String text = "Hello, World!";
byte[] bytes = text.getBytes();
outputStream.write(bytes);
} catch (IOException e) {
e.printStackTrace();
}
输入流和输出流区别:
1.输入流和输出流是相对于程序而言的,一个流在一个程序中可能是输入流,在另一个程序中则可能是输出流。
2.输入流用于从外部读取数据到程序中,而输出流用于将程序中的数据写出到外部。
示例1:从文件中读取数据并复制到另一个文件中
try (InputStream inputStream = new FileInputStream("source.txt");
OutputStream outputStream = new FileOutputStream("destination.txt")) {
int data;
while ((data = inputStream.read()) != -1) {
outputStream.write(data);
}
} catch (IOException e) {
e.printStackTrace();
}
示例2:读取用户输入并写入到文件中
try (InputStream inputStream = System.in;
OutputStream outputStream = new FileOutputStream("output.txt")) {
int data;
while ((data = inputStream.read()) != -1) {
outputStream.write(data);
}
} catch (IOException e) {
e.printStackTrace();
}