我还在学习中,如果我误解了,请纠正我,但FileReader对象不应该返回文本文件的全部内容吗?
我在这里有一段代码,我只是简单地尝试获取一个简短的.txt文件的内容,并使用system.out.println()打印它
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException {
File testDoc = new File("C:\\Users\\Te\\Documents\\TestDocument.txt");
BufferedReader reader = new BufferedReader(new FileReader(testDoc));
Scanner in = new Scanner(new FileReader(testDoc));
try {
System.out.println(reader.readLine());
} finally {
reader.close();
}
}
}
.txt文件只包含3行,格式如下:
some text here, more text and stuff
new estonian lessons
word = new word
但是程序只打印文件中的第一行。
some text here, more text and stuff
造成这种情况的原因是什么?如何更正?
我已经尝试阅读文档,以及搜索Stackoverflow,但我还没有找到解决此问题的方法。
答案 0 :(得分:2)
BufferedReader
的(看here)foreach ($useres1 as $rows) {
echo "<tr><td>" . $rows['fname'] . "</td><td>" . $rows['fprice'] . "</td> <td><a href='pledit.php?id=" . $rows['food_id'] . "'>Επεξεργασία</a></td></tr>";
}
echo "</tbody>"
. "</table>"
. "</div>";
从文件中读取一行,因此您需要编写一个循环,如下所示:
readLine()
此外,您的代码中不需要String line = "";
while((line =reader.readLine()) != null) {
System.out.println(line);
}
个对象(如果您使用Scanner
),所以它将如下所示:
BufferedReader
答案 1 :(得分:1)
您可以使用实际实例化但不用于将FileReader
实例链接起来的扫描程序。
它可以允许具有Scanner
类的灵活api hasNextLine()
1}}和nextLine()
方法。
Scanner in = new Scanner(new FileReader(testDoc));
public static void main(String[] args) throws FileNotFoundException, IOException {
File testDoc = new File("C:\\TestDocument.txt");
Scanner in = new Scanner(new FileReader(testDoc));
try {
while (in.hasNextLine()) {
String currentLine = in.nextLine();
System.out.println(currentLine);
}
} finally {
in.close();
}
}
答案 2 :(得分:0)
方法git diff 'master' 'testlocalBranch'
只返回一行。所以你必须迭代所有行:
readLine()
答案 3 :(得分:0)
两种方法。见下文。
File testDoc = new File("C:\\Users\\Te\\Documents\\TestDocument.txt");
BufferedReader reader = new BufferedReader(new FileReader(testDoc));
Scanner in = new Scanner(new FileReader(testDoc));
try {
//Using Scanner Object
while(in.hasNextLine()){
System.out.println(in.nextLine());
}
//Using BufferReader Object
String line=reader.readLine();
while(line!=null){
System.out.println(line);
line=reader.readLine();
}
} finally {
reader.close();
}