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 5102 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par D&Atilde;&copy;butant dans CMS

merci , et bon courage pour d'autre programme

Publié par FOBEC dans CMS

Un chronomètre, des challenges et l'affichage des meilleurs scores sont prévus. Si ça vous intéresse, laissez moi un p'tit mot !!!

Publié par Daxentuut dans java

Avec les imports c'est mieux :

import java.awt.AWTException
import java.awt.Robot
import java.awt.event.KeyEvent
import java.io.IOException
import java.util.logging.Level
import...

Publié par Annuaire francophone dans tuto

Bonjour, savez-vous s'il existe un logiciel de capture d'écran (ascreen) pour window. Merci

Publié par need help dans java

Merci pour cet exemple.
Est ce possible de récupérer le flux video d'une camera ou bien une appareil photo branché par USB.

Merci d'avance.