我在我的java类中遇到了这段代码...但我仍然无法理解这段代码如何读取文件..特别是while循环部分...讲师说如果我们不实现循环..这段代码只读文件的第一个字母......
import java.io.FileReader;
public class NewClass {
public static void main(String[] args) {
try{
FileReader f1 = new FileReader("E:\\SOFTWARE setups\\Apache\\new.txt");
while (true) {
int x = f1.read();
if (x == -1) {
break;
}
char y = (char) x;
System.out.print(y);
}
最佳答案
来自documentation -
Reads a single character.
Returns the character read, or -1 if the end of the stream has been reached.
所以,是的,您需要一个 for 循环来读取文件的全部内容。您的代码遵循的基本策略是一次读取一个字符,检查它是否为 -1(查看是否已到达文件末尾),如果不是,则将其打印在控制台上。
如果您不想编写这样的循环并读取整个内容,那么您可以使用一些实用程序库,例如 Apache Commons -
File file = new File("E:\\SOFTWARE setups\\Apache\\new.txt");
String content = FileUtils.readFileToString(file);
System.out.print(content);
关于java - 谁能解释一下如何用java读取文件。 -1是什么意思?我想读取的文件中没有任何数字..困惑 :(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20091161/