如何让 java 程序只从文件中读取一行?

How do I make a java program read just one line from the file?

提问人:KennyatJava 提问时间:4/26/2021 最后编辑:KennyatJava 更新时间:7/16/2021 访问量:221

问:

所以我在这里有我的代码: 文件文本 = new File(“filename”); 扫描仪阅读器 = new Scanner(text);

        ArrayList<String> employee1 = new ArrayList<String>();
        while (reader.hasNext()){
            employee1.add(reader.nextChar());
            
        }
        reader.close();
        
        
        
        System.out.print(employee1);

除了,我想要它,所以变量 employee1 只分配给一行文本,但它将整个文本文件分配给它

文件为: 1号线 2号线 3号线 输出: 1号线、2号线、3号线

我只需要程序输出一个文件,将一名员工读取为一行,因为这是我的教授在作业中写的。

java 数组列表 try-catch java.util.scanner

评论

0赞 Robert Harvey 4/26/2021
这里
0赞 Vitor Cavalcanti 4/26/2021
使用“if”而不是“while”应该可以解决问题!
0赞 Robert Harvey 4/26/2021
@VitorCavalcanti:尝试根据您的建议运行它,看看它的作用。
1赞 Robert Harvey 4/26/2021
@Kenny:您的 ArrayList 建议您希望每一行都有自己的数组条目。这是您想要的,还是您希望将整个文件放在单个字符串变量中?
0赞 Vitor Cavalcanti 4/26/2021
@RobertHarvey 好吧,我的意思是这样做是为了实现他想要的结果,而不是作为一个完整的解决方案。

答:

1赞 WJS 4/26/2021 #1

你试过这个吗?

File text = new File("filename");
Scanner reader = new Scanner(text);
ArrayList<String> employee1 = new ArrayList<String>();

if (reader.hasNextLine()) {
     employee1.add(reader.nextLine());
}
reader.close();
System.out.print(employee1);

但我不确定为什么要在数组列表中放一行。您可以只在一行中读取为字符串并像这样打印。

String line1 = "File is empty";
if (reader.hasNextLine()) {
     line1 = reader.nextLine();
}
System.out.println(line1);
// do something else with line 

评论

0赞 KennyatJava 7/16/2021
这是任务的一部分。