【发布时间】:2019-07-17 13:52:43
【问题描述】:
// init the file objects and the initial drive state
public class UsbDetector
for ( int i = 0; i < letters.length; ++i )
{
usb[i] = new File(letters[i]+":/");
isDrive[i] = usb[i].canRead();
}
System.out.println("waiting for USB...");
// loop indefinitely
while(true)
{
// check each drive
for ( int i = 0; i < letters.length; ++i )
{
boolean pluggedIn = usb[i].canRead();
// if the state has changed output a message
if ( pluggedIn != isDrive[i] )
{
if ( pluggedIn )
System.out.println("Drive "+letters[i]+" has been inserted");
else
System.out.println("Drive "+letters[i]+" has been removed");
isDrive[i] = pluggedIn;
};
【问题讨论】:
-
希望
while(true)有自己的主题。否则,您将遇到问题。 -
在我们看不到的代码部分可能有
breaks。希望** -
到底是什么问题?无论如何,请提供一个minimal reproducible example,以证明其行为与您期望的不同。
-
目前还不清楚您到底在问什么。您需要澄清您要实现的目标以及代码如何无法实现这一目标。 (顺便说一句,可以编译的代码/可编译代码的一部分将是首选。)可能这可以通过这样的方法来完成:stackoverflow.com/a/26961603/2991525(虽然不确定这是你要问的......)跨度>