- 标准输入输出流(System.in和System.out):
标准输入流(System.in)用于从控制台获取用户输入,可以通过Scanner类或BufferedReader类等进行读取操作。例如:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("您输入的整数是:" + num);
}
}
标准输出流(System.out)用于向控制台输出结果,可以使用System.out.println()方法进行打印。例如:
public class Main {
public static void main(String[] args) {
int num = 55;
System.out.println("结果是:" + num);
}
}
- 文件输入输出流(FileInputStream和FileOutputStream):
文件输入流(FileInputStream)用于从文件中读取数据,可以通过BufferedReader类等进行读取操作。例如:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Sr {
public static void main(String[] args) {
File file = new File("C:/javajava/user06/ZR1/src/Untitled 1"); // 创建一个File对象,表示指定路径下的文件
try (BufferedReader br = new BufferedReader(new FileReader(file))) { // 使用try-with-resources语句创建一个BufferedReader对象,自动关闭资源
//创建了一个FileReader对象,该对象用于打开指定路径下的文件并读取其中的内容。
//然后,它将FileReader对象作为参数传递给BufferedReader构造函数,创建一个BufferedReader对象。
String line; // 定义一个字符串变量line,用于存储每一行的内容
while ((line = br.readLine()) != null) { // 当读取到下一行内容时执行循环体
System.out.println(line); // 将当前行的内容输出到控制台
}
} catch (IOException e) { // 如果在读取文件过程中发生异常,则执行catch块中的代码
e.printStackTrace(); // 将异常信息打印到控制台
}
}
}
文件输出流(FileOutputStream)用于将数据写入文件,可以通过BufferedWriter类等进行写入操作。例如:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Sc {
public static void main(String[] args) {
String filePath = "C:/javajava/user06/ZR1/src/Untitled 1"; // 文件路径
try {
FileWriter fileWriter = new FileWriter(filePath); // 创建FileWriter对象来写入文件
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); // 创建BufferedWriter对象加速写入
String textToWrite = "这是要写入文件的文本内容。"; // 要写入文件的文本内容
bufferedWriter.write(textToWrite); // 将文本内容写入缓冲区
bufferedWriter.close(); // 关闭缓冲区,将内容写入文件
fileWriter.close(); // 关闭文件写入器
System.out.println("文本已成功写入文件。"); // 输出成功写入文件的消息
} catch (IOException e) {
e.printStackTrace(); // 捕捉并打印IO异常
}
}
}
除了标准输入输出流和文件输入输出流外,Java还提供了许多其他类型的输入输出,如网络输入输出、对象输入输出、内存输入输出等。这些功能通过各种类和接口(如Socket、DataInputStream、DataOutputStream等)提供了更加灵活和强大的输入输出能力,可以满足不同应用场景的需求。