Java IO习题
介绍
Java IO(Input/Output)是用于处理输入和输出流的类和接口的集合。它提供了一种灵活和可靠的方式来读取和写入数据。本文将介绍Java IO的基本概念及其常见用法,并提供一些练习题来帮助读者加深对Java IO的理解。
目录
- Java IO简介
- 输入流和输出流
- 文件读取和写入
- 字符串读取和写入
- 练习题
1. Java IO简介
Java IO库提供了用于读取和写入数据的类和接口。它包含了多种类型的流,如字节流、字符流、对象流等。Java IO库是Java标准库的一部分,可以被直接使用。
2. 输入流和输出流
输入流(InputStream)用于从数据源读取数据,输出流(OutputStream)用于向目标写入数据。输入流和输出流之间的关系如下所示:
Java IO库提供了多种输入流和输出流的实现,如FileInputStream和FileOutputStream用于读写文件,ByteArrayInputStream和ByteArrayOutputStream用于读写字节数组等。
下面是一个简单的示例,演示如何使用输入流读取文件:
import java.io.FileInputStream;
import java.io.IOException;
public class InputStreamExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("input.txt")) {
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 文件读取和写入
在Java IO中,可以使用File类来表示文件或目录。可以使用FileInputStream和FileOutputStream来读写文件。下面是一个示例,演示如何使用文件输入流和输出流读写文件:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileIOExample {
public static void main(String[] args) {
File inputFile = new File("input.txt");
File outputFile = new File("output.txt");
try (FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile)) {
int data;
while ((data = fis.read()) != -1) {
fos.write(data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
4. 字符串读取和写入
除了读写文件外,Java IO还提供了用于读写字符串的类,如StringReader和StringWriter。下面是一个示例,演示如何使用字符串读取和写入:
import java.io.StringReader;
import java.io.StringWriter;
import java.io.IOException;
public class StringIOExample {
public static void main(String[] args) {
String input = "Hello, World!";
String output;
try (StringReader reader = new StringReader(input);
StringWriter writer = new StringWriter()) {
char[] buffer = new char[1024];
int length;
while ((length = reader.read(buffer)) != -1) {
writer.write(buffer, 0, length);
}
output = writer.toString();
} catch (IOException e) {
e.printStackTrace();
output = "";
}
System.out.println(output);
}
}
5. 练习题
- 编写一个程序,从文件中读取一段文本,并统计其中每个单词出现的次数。
- 编写一个程序,从控制台读取用户输入的数字,并将其写入文件中。
- 编写一个程序,从文件中读取一段文本,并将其中的大写字母转换为小写字母后写入另一个文件中。
结论
Java IO是一个强大且灵活的输入输出库,它提供了多种流和类供我们使用。通过本文的介绍和示例代码,读者可以更深入地了解Java IO的基本概念和用法。希望读者通过练习题的实践,能够进一步掌握Java IO的技巧和应用。
参考资料:
- [Oracle官方文档 - Java IO](