【发布时间】:2014-01-02 13:42:22
【问题描述】:
我目前正在构建一个项目,我偶然发现了一个问题,我需要使用 java 与 USB 通信。 通过通信,我的意思是从 pc 到 usb 的文件传输和副 vresa 之类的东西。 有没有适合那个porpuse的api?
【问题讨论】:
我目前正在构建一个项目,我偶然发现了一个问题,我需要使用 java 与 USB 通信。 通过通信,我的意思是从 pc 到 usb 的文件传输和副 vresa 之类的东西。 有没有适合那个porpuse的api?
【问题讨论】:
你可以使用这段代码通过 java 检测 USB:
import java.io.*;
import javax.swing.*;
public class DetectWin extends JFrame
{
JPanel loginPnl = new JPanel();
JTextField Dfield = new JTextField("", 20);
DetectWin()
{
super("AUTHORIZATION");
setSize(350, 100);
setLocation(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(loginPnl);
setVisible(true);
setResizable(false);
loginPnl.add(Dfield);
String[] letters = new String[]{ "A", "B", "C", "D", "E", "F", "G", "H", "I", "Z"};
File[] drives = new File[letters.length];
boolean[] isDrive = new boolean[letters.length];
for ( int i = 0; i < letters.length; ++i )
{
drives[i] = new File(letters[i]+":/");
isDrive[i] = drives[i].canRead();
}
Dfield.setText("Waiting for devices....");
while(true)
{
for ( int i = 0; i < letters.length; ++i )
{
boolean pluggedIn = drives[i].canRead();
if ( pluggedIn != isDrive[i] )
{
if ( pluggedIn )
Dfield.setText("Drive "+letters[i]+" has been plugged in");
else
Dfield.setText("Drive "+letters[i]+" has been unplugged");
isDrive[i] = pluggedIn;
}
}
try { Thread.sleep(100); }
catch (InterruptedException e) { }
}
}
public static void main(String args[])
{
DetectWin AUTHORIZATION = new DetectWin();
}
}
【讨论】: