Exception in thread "main" java.lang.Error: Unresolved compilation problems: The method readLine() is undefined for the type FileInputStream The method write(int) in the type FileOutputStream is not applicable for the arguments (String) at java_text.text5.main(text5.java:18)这是什么问题
时间: 2024-02-10 17:10:41 浏览: 140
这个错误提示是因为代码中使用了 `readLine()` 方法,但是 `FileInputStream` 类并没有提供 `readLine()` 方法,所以编译器无法识别该方法。
另外一个错误提示是因为代码中使用了 `write()` 方法写入字符串,而 `FileOutputStream` 类的 `write()` 方法只能写入字节类型的数据,所以编译器无法识别该方法。
要解决这些问题,可以使用 `BufferedReader` 类来替代 `FileInputStream`,使用 `BufferedWriter` 类来替代 `FileOutputStream`,这些类提供了更方便的读写方法,能够更好地处理文本类型的数据。代码示例:
```
import java.io.*;
public class text5 {
public static void main(String[] args) {
File inFile = new File("Source.txt");
File outFile = new File("dost.txt");
String line;
int num = 1;
try (BufferedReader reader = new BufferedReader(new FileReader(inFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(outFile))) {
while ((line = reader.readLine()) != null) {
writer.write(num + ":" + line + "\n");
num++;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例代码中,使用了 `BufferedReader` 类来读取文本文件,使用 `BufferedWriter` 类来写入文本文件,这样就可以更好地处理文本类型的数据,并且代码更加简洁易懂。
阅读全文