2015-04-17 80 views
1

我讀的同樣我File內容:文件末尾的前哨值?

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

EOF我想發送的String "@@@"充當哨兵值要知道它的結束。但是,我正在讀取的File中沒有"@@@"。有關我如何處理這個問題的任何建議?

+0

如果您存儲在列表中的行,爲什麼要標記值?列表的最後一個元素是EOF。 – Shar1er80

回答

0

只需在while循環後添加行list.add("@@@");即可。

你會知道你已經閱讀了整個文件,所以只需添加常量字符串即可。你可能要考慮分離出字符串可讀性的東西,如:

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