Identificare le schede di rete con Java
Java non ha molti strumenti per accedere al livello basso del sistema e reperire informazioni hardware.
Anzi, non ne ha praticamente nessuno a parte la classe NetworkInterface.
Questa classe ci permette di identificare le schede di rete ed alcune informazioni associate.
Vediamo come creare un metodo che ci listi tutte le interfacce; le salveremo in un ArrayList così che possa essere facilmente richiamato in una JComboBox ad esempio (ciò che serviva a me).
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Enumeration;
public class ElencaSchede {
public static ArrayList<String> schede() throws SocketException {
ArrayList<String> list = new ArrayList<String>();
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface ni = interfaces.nextElement();
list.add(ni.getDisplayName());
}
return list;
}
}
In verità non c'è molto da spiegare, ma solo da leggere le API al link sopra.
Enumeriamo le interfacce e riempiamo l'ArrayList con il loro nome.
Nulla di particolarmente difficile!
Grazie a cacao per la segnalazione!!
java networkinterface enumeration arraylist
Commentami!