Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以复印扫描仪吗?_Java_Methods_Parameters - Fatal编程技术网

Java 我可以复印扫描仪吗?

Java 我可以复印扫描仪吗?,java,methods,parameters,Java,Methods,Parameters,我有一个方法,把扫描仪作为一个参数,我想复制它,这样我就可以使用它两次。可能吗 很抱歉,我是这个网站的新手。这是一个全java的网站吗?因为这就是我正在使用的。只要我知道如果您想使用它两次,您必须初始化两个扫描仪,或者在第一次处理它时初始化同一个扫描仪。 因此,这个问题的总体答案是,当您第一次处理流时,再次初始化扫描仪。不清楚您所说的“…因此我可以使用它两次”是什么意思 愚蠢的解释是,您希望对扫描仪对象进行多次调用。显然,您不需要复制扫描仪来执行此操作 下一种解释是,您希望使用Scanners从

我有一个方法,把扫描仪作为一个参数,我想复制它,这样我就可以使用它两次。可能吗


很抱歉,我是这个网站的新手。这是一个全java的网站吗?因为这就是我正在使用的。

只要我知道如果您想使用它两次,您必须初始化两个扫描仪,或者在第一次处理它时初始化同一个扫描仪。
因此,这个问题的总体答案是,当您第一次处理流时,再次初始化扫描仪。

不清楚您所说的“…因此我可以使用它两次”是什么意思

愚蠢的解释是,您希望对
扫描仪
对象进行多次调用。显然,您不需要复制
扫描仪来执行此操作

下一种解释是,您希望使用
Scanner
s从同一输入流中读取同一令牌流两次。那不行。扫描仪假定它独占使用底层输入流。。。它会消耗流中的字符。因此,如果您有一个带有两个扫描器的输入流,那么其中一个扫描器将获得一些输入字符,而另一个将获得其余字符。(此外,哪台扫描仪获取哪些字符并不容易预测。)

不过,有几种方法可以解决这个问题。比如说-

  • 如果数据源是一个文件(应用程序打开的文件),则可以将其打开两次,并为其创建两个独立的
    扫描仪

  • 您可以将整个流作为字符串或StringBuffer或字符数组读取到内存中,然后创建两个输入流来读取缓冲数据,并为流创建inpendent
    Scanner
    s

  • 您可以使用“tee流”(例如:)或类似方法将输入的副本保存到单独的输出流,然后将写入后者的数据馈送到单独的扫描仪


最终的解释是,您需要两个从同一个流返回令牌的扫描器。如果您想这样做,最好使用一台扫描仪,并将其传递到两个需要它的地方。(如果您试图在同一输入流上使用两个扫描仪,您可能会遇到上述问题。)

回答您的第二个问题,它绝不是全java网站。但是要接触到了解java的人,只需在你的帖子上加上“java”和其他适用于你的问题的标签,就可以让了解java的人更容易找到它。