Il linguaggio Java nasce con l’espressa intenzione di essere multipiattaforma: scrivi il codice una volta e stai sicuro che girerà su Windows, Linux, Mac e DrDos1 senza grandi smanettamenti.
Lavorando con Java 5 ho constatato che è davvero così ma che c’erano ancora due problemi. Problemi che sono stati risolti con Java 6:

  • apertura di file con il programma predefinito del sistema (ad esempio aprire i doc con Word se si è su Windows o con OpenWriter se si è su Linux).Con Java 5: C’era da capire in che sistema operativo eri e inventarsi modi astrusi per aprire qualche programma di sistema che fa il lavoro al posto nostro.Con Java 6: C’è la magnifica classe Desktop e si risolve tutto con una riga di codice:Desktop.getDesktop().browse(new URI(fileName));
    La classe Desktop ha anche altre funzioni interessati per modificare i file, mandare mail e stampare.
  • Rilevamento del MAC address della macchina.Con Java 5: C’era da capire in che sistema operativo eri, chiamare quindi ipconfig o ifconfig o chissà cos’altro, dedurre in qualche modo il MAC address dalla sua risposta e smadonnare quando non si capiva niente.Con Java 6: Bastano due poche righe di codice:InetAddress localhost = InetAddress.getLocalHost();
    byte[] macByte = NetworkInterface.getByInetAddress(localhost).getHardwareAddress();
    String mac = Integer.toHexString(0xff & macByte[0]) + "-"
    + Integer.toHexString(0xff & macByte[1]) + "-"
    + Integer.toHexString(0xff & macByte[2]) + "-"
    + Integer.toHexString(0xff & macByte[3]) + "-"
    + Integer.toHexString(0xff & macByte[4]) + "-"
    + Integer.toHexString(0xff & macByte[5]);

    La parte più astrusa è solo per la conversione da esadecimale a stringa (lo so, si potrebbe scrivere un codice più pulito ma è solo per rendere l’idea).

Morale della favola: usa Java 6 per la tua salute :)

Condividi:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • PDF
  • Ping.fm
  • Technorati
  • Twitter
  1. Vabbé, non esageriamo… :) []