這裏的位置是一個簡單的例子,說明我有這個問題:記得在掃描儀
public static String nextTwoTokens(Scanner scan) {
String partOne = scan.next();
String partTwo = scan.next();
return partOne+partTwo;
}
這應該工作得很好,但我不希望修改中的「光標」的位置掃描儀與我的兩個.next()
的。
從我讀過的,你不能複製一個掃描儀對象。在那種情況下,我將如何「記住」掃描儀中光標的位置,然後在返回此方法之前返回該位置?
如果我不能這樣做,有沒有一種方法可以讓掃描儀讀取來源以建立另一個掃描儀?在這種情況下,如果我需要創建另一臺掃描儀,那麼新掃描儀在文件/輸入流/其他位置開始時會很好,這與舊掃描儀的光標位置相反。
據我所知,你不知道。你不能。和不。你需要另一種方法。 – 2014-11-23 02:45:03
對此不完全確定,所以我會留下它作爲評論。有一個'Scanner(ReadableByteChannel)'構造函數可用。還有一個['FileChannel'](https://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileChannel.html),它允許你設置當前的讀取位置。 – Obicere 2014-11-23 03:10:16