Непонятно, что вы подразумеваете под «... поэтому я могу использовать его дважды».
Глубокая интерпретация заключается в том, что вы хотите сделать более одного вызова на объекте Scanner
. Очевидно, что вам не нужно копировать Scanner
, чтобы сделать это.
Следующая интерпретация заключается в том, что вы хотите использовать Scanner
s, чтобы прочитать один и тот же токен потока дважды из того же входного потока. Это не сработает. Сканер предполагает, что он использует исключительно исходный поток ввода ... и он потребляет символов из потока. Поэтому, если у вас есть один входной поток с двумя сканерами, один из ваших сканеров получит некоторые из входных символов, а другой получит все остальное. (И, кроме того, какой сканер получает, какие символы не будут легко предсказуемы.)
Существует несколько способов обойти это. Например -
Если источник данных представляет собой файл (который открывает приложение), вы можете открыть его дважды и создать два независимых Scanner
с для него.
Вы можете прочитать весь поток в памяти как String или StringBuffer или массив символов, а затем создать два входных потока для чтения буферизованных данных и inpdependent Scanner
s для потоков.
Вы можете использовать «поток tee» (например: http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/input/TeeInputStream.html) или аналогично сохранять копию ввода в отдельный выходной поток, а затем передавать данные, записанные последним, в отдельный сканер.
Окончательная интерпретация заключается в том, что вы хотите, чтобы два сканера возвращали токены из одного потока. Если вы хотите это сделать, вам лучше использовать один сканер и передать его двум местам, которые в нем нуждаются. (Если вы попытаетесь использовать два сканера в одном и том же потоке ввода, вы можете столкнуться с проблемами, упомянутыми выше.)
Чтобы ответить на ваш второй вопрос, это далеко не все веб-сайты java. Но чтобы найти людей, которые знают что-то о java, просто пометьте ваше сообщение «java» и все, что применимо к вашему вопросу, и людям, которые знают java, будет легче найти его. –