文件末尾的Sentinel值?

时间:2015-04-17 16:59:08

标签: java file while-loop eof sentinel

我同样阅读了File的内容:

List<String> list = new ArrayList();
Scanner scanner = new Scanner(new FileInputStream(file));
while( scanner.hasNextLine())
{
  list.add(scanner.nextLine());
}

EOF我想发送String "@@@"作为Sentinel值来了解它的结束。但是,我正在阅读的"@@@"中没有File。关于我如何处理这个问题的任何建议?

2 个答案:

答案 0 :(得分:1)

List<String> list = new ArrayList();
Scanner scanner = new Scanner(new FileInputStream(file));
while( scanner.hasNextLine())
{
    list.add(scanner.nextLine());
}
list.add("@@@");

答案 1 :(得分:0)

只需在while循环后添加行list.add("@@@");

您知道自己已经读完了整个文件,所以只需添加常量字符串即可。您可能需要考虑将字符串分离出来以便于阅读:

public static final String SENTINEL = "@@@";