Publié le 02/12/2010
Auteur AXEL
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Ouvrir un fichier dans l'editeur par defaut

Le package Desktop dispose d'une fonction comparable à ShellExecute sous Windows. A partir d'un nom de fichier, la fonction lance automatiquement l'éditeur par défaut pour ce type de fichier. De même, une page internet peut être affichée dans le navigateur internet du poste de travail.

Modifier le contenu d'un fichier

Dans l'exemple ci-dessous, NotePad est ouvert pour editer le fichier c:log.txt et l'application Paint pour retoucher l'image c:ajax.gif.
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * Ouvrir un fichier dans l'éditeur par défaut
 */
public class OpenDefaultEditor {
 
    /**
     * Lancer l'executable et ouvrir le fichier
     * @param filename
     */
    public static void lanch(String filename) {
        File file = new File(filename);
        if (!file.exists() && file.length() < 0) {
            System.out.println("Specified file does not exist!");
            System.exit(0);
        }
        Desktop desktop = null;
        if (Desktop.isDesktopSupported()) {
            desktop = Desktop.getDesktop();
        }
        try {
            desktop.edit(file);
        } catch (IOException ex) {
            Logger.getLogger(OpenDefaultEditor.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    /**
     * Exemple pour une image au format gif et un texte
     * @param args
     */
    public static void main(String[] args) {
        OpenDefaultEditor.lanch("c://ajax.gif");
        OpenDefaultEditor.lanch("c://log.txt");
    }
}

Afficher une page internet

A partir d'une application, une page internet peut etre ouverte dans le navigateur. Par exemple pour guider l'utilisateur vers son site internet, utilisez le code suivant. La page est ouverte dans Firefox, Internet Explorer ou un autre navigateur internet selon la configuration du poste de travail.
/**
 * Ouvrir une page internet
 */
public class OpenDefaultBrowser {
 
    /**
     * Afficher une page internet dans le navigateur par defaut
     * @param url adresse de la page
     */
    public static void navigate(String url) {
        try {
            URI uri = new URI(url);
            if (Desktop.isDesktopSupported()) {
                Desktop desktop = Desktop.getDesktop();
                desktop.browse(uri);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(OpenDefaultBrowser.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(OpenDefaultBrowser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    /**
     * Exemple Afficher le site fobec.com
     * @param args 
     */
    public static void main(String[] args) {
        OpenDefaultBrowser.navigate("http://www.fobec.com");
    }
}

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
02/12/2010
Visualisation
vu 3786 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Alpcom dans java

Salut , juste signaler une petite faute de frappe dans mouseDragged
ce n'est pas int y = p.y - newPos.x;
int y = p.y - newPos.y; !! des comportements curieux apparaissaient sinon merci beaucoup...

Publié par dieteticien-lyon dans CMS

Il existe aussi programme-dietetique.com qui est pas mal et au niveau fonctionnalit&Atilde;&copy;

Publié par caledonien dans php5

merci c'est parfait

Publié par Verkork dans java

Le probleme c'est que ce code ne convient pas quand une partie de la page est dynamique, ie qu'elle est rafraichit toutes les minutes par exemple. Par exemple pour une telle page, c'est...

Publié par Loualfcha dans CMS

Je n'arrive pas &Atilde;&nbsp; installer le logiciel<br>Message d'erreur: DeleteFile a &Atilde;&copy;chou&Atilde;&copy;; code 5<br>Acc&Atilde;&um...