在Java中,处理输入输出(I/O)主要涉及到两个类:java.io.InputStream
和 java.io.OutputStream
。这两个类是Java I/O体系的基础,它们提供了一系列方法来读取和写入数据。
- 从控制台读取输入:
在Java中,可以使用java.io.Scanner
类从控制台读取输入。首先,需要导入java.util.Scanner
包,然后创建一个Scanner
对象,最后使用Scanner
对象的方法(如nextInt()
、nextLine()
等)来读取不同类型的输入。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int inputNumber = scanner.nextInt();
System.out.print("请输入一行文本:");
String inputText = scanner.nextLine();
System.out.println("您输入的整数是:" + inputNumber);
System.out.println("您输入的文本是:" + inputText);
scanner.close();
}
}
- 向控制台写入输出:
在Java中,可以使用System.out.print()
和System.out.println()
方法向控制台写入输出。System.out
是一个PrintStream
对象,它是java.io.OutputStream
类的一个子类。
public class Main {
public static void main(String[] args) {
int number = 42;
String text = "Hello, World!";
System.out.print("整数:" + number);
System.out.println("文本:" + text);
}
}
- 文件I/O:
Java提供了java.io.FileInputStream
和java.io.FileOutputStream
类来读取和写入文件。这两个类分别继承自java.io.InputStream
和java.io.OutputStream
。
以下是一个简单的示例,演示了如何读取一个文件的内容并将其写入另一个文件:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
String inputFilePath = "input.txt";
String outputFilePath = "output.txt";
try (FileInputStream fis = new FileInputStream(inputFilePath);
FileOutputStream fos = new FileOutputStream(outputFilePath)) {
int data;
while ((data = fis.read()) != -1) {
fos.write(data);
}
System.out.println("文件复制成功!");
} catch (IOException e) {
System.out.println("文件复制失败:" + e.getMessage());
}
}
}
在这个示例中,我们使用了try-with-resources语句来自动关闭FileInputStream
和FileOutputStream
对象。这是一种更安全的处理I/O资源的方法,可以避免资源泄漏。