IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Import de fichier dans mon application


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 111
    Par défaut Import de fichier dans mon application
    Bonjour,
    je voudrais charger un fichier dans mon application pour l'exploiter , a priori la classe la plus adéquate est URL , mais quand je tape le chemin ca me génère une erreurs, voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.net.URL pURL = new URL("file:C:\france.shapefiles\france_administrative.shp");
    quelqu'un a une idée ?
    merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    les \doivent etre doublé dans une string java, ce sont des caractères d'échappement.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 111
    Par défaut
    Bonjour tchize;
    merci pour votre réponse , ben j'ai essayé avec slash doublés et ca donne toujours la même erreurs "null pointer exception" même ligne

    voila ce que j'ai tapé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.net.URL pURL = new URL("file:C\\france.shapefiles\\france_administrative.shp");
    y'a t il une autre chose que j'aurais du faire ?
    merci

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    767
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 767
    Par défaut
    L'url n'a pas l'air très bonne, mais je comprend pas pourquoi tu as un Null pointeur ici, tu devrais plutôt avoir un MalformedURLException.

    Quoi qui l'en soit un ficher sur le disque C, c'est comme ça :

    file:\\C:\TEMP\tmp.html

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    +1 une url en erreur ne déclenche jamais un nullpointerexception. Afficher le code complet + erreur et mettre en évidence la ligne où pointe le stacktrace.

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 111
    Par défaut
    je vous passe le code et le message d'erreure généré, voila ,
    j'ai essayé les deux combinaisons
    java.net.URL pURL = new URL("file:\\C:\\gadm_FRA_SHP\\FRA.shp");
    et java.net.URL pURL = new URL("file:C:\\gadm_FRA_SHP\\FRA.shp");
    je suis meme passé par new File ("....").toURI().toURL();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package projet1;
     
    import org.geotoolkit.data.query.QueryBuilder;
    import com.vividsolutions.jts.geom.Point;
    import java.awt.BorderLayout;
    import java.io.File;
    import java.net.URL;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import org.geotoolkit.data.DataStore;
    import org.geotoolkit.data.DataStoreFinder;
    import org.geotoolkit.data.FeatureCollection;
    import org.geotoolkit.factory.FactoryFinder;
    import org.geotoolkit.gui.swing.go2.JMap2D;
    import org.geotoolkit.gui.swing.go2.control.JNavigationBar;
    import org.geotoolkit.map.MapBuilder;
    import org.geotoolkit.map.MapLayer;
    import org.geotoolkit.referencing.crs.DefaultGeographicCRS;
    import org.geotoolkit.style.StyleConstants;
    import org.geotoolkit.util.RandomStyleFactory;
    import org.opengis.feature.type.Name;
    public class projet1 {
     
        /**
         * @param args the command line arguments
         */
     
        public static void main(String[] args)throws Exception {
     
            //pour creer des geometries, points, lignes, polygons ...
            final com.vividsolutions.jts.geom.GeometryFactory GF = new com.vividsolutions.jts.geom.GeometryFactory();
            final org.geotoolkit.style.MutableStyleFactory MSF = (org.geotoolkit.style.MutableStyleFactory)FactoryFinder.getStyleFactory(null) ;
     
     
            //on définit le modele de données
            final org.geotoolkit.feature.FeatureTypeBuilder ftb = new org.geotoolkit.feature.FeatureTypeBuilder();
            ftb.setName("MonModel");
     
            //un attribut de type Point avec projection cartographique CRS:84 (longtitude/latitude)
            ftb.add("geometry", Point.class, DefaultGeographicCRS.WGS84);
            ftb.setDefaultGeometry("geometry");
            final org.opengis.feature.simple.SimpleFeatureType type = ftb.buildSimpleFeatureType();
            maconnexion c = new maconnexion();
            String s = new String();
            s = "id";
             final org.geotoolkit.data.FeatureCollection collection = org.geotoolkit.data.DataUtilities.collection("id-col", type);
            while (c.rs.next())
            {
     
              //creation de quelques valeurs
              final org.geotoolkit.feature.simple.SimpleFeatureBuilder sfb = new org.geotoolkit.feature.simple.SimpleFeatureBuilder(type);
     
              sfb.set("geometry", GF.createPoint(new com.vividsolutions.jts.geom.Coordinate(c.rs.getInt(1),c.rs.getInt(2))));
              final org.opengis.feature.simple.SimpleFeature feature1 = sfb.buildFeature(s+"d");
     
                   //creation d'une collection de valeur
     
            collection.add(feature1);
            }
     
     
            //creation une couche de donnée pour affichage, données + style
            final org.geotoolkit.style.MutableStyle style = MSF.style(StyleConstants.DEFAULT_POINT_SYMBOLIZER);
            final org.geotoolkit.map.MapLayer featureLayer = MapBuilder.createFeatureLayer(collection, style);
     
            java.net.URL pURL = new URL("file:C:\\gadm_FRA_SHP\\FRA.shp");
            DataStore pDS = DataStoreFinder.getDataStore("key",pURL);
            Name pName = pDS.getNames().iterator().next();
            FeatureCollection pFC = pDS.createSession(true).getFeatureCollection(QueryBuilder.all(pName));
            MapLayer pLayer = MapBuilder.createFeatureLayer(pFC, RandomStyleFactory.createDefaultVectorStyle(pFC));
    //pMapCntx.layers().add(pLayer);
    //JMap2DFrame.show(pMapCntx);
     
     
     
            //ensemble des couches a afficher
            final org.geotoolkit.map.MapContext context = org.geotoolkit.map.MapBuilder.createContext();
     
            context.layers().add(featureLayer);
            context.layers().add(pLayer);
            //creation de la fenetre pour affichage
             final org.geotoolkit.gui.swing.go2.JMap2D map = new JMap2D();
            //map.setToolTipText("bonjour");
             map.getContainer().setContext(context);
            map.getCanvas().getController().setVisibleArea(context.getBounds());
            final JNavigationBar bar = new JNavigationBar(map);
            final JPanel panneau = new JPanel(new BorderLayout());
            panneau.add(BorderLayout.NORTH,bar);
            panneau.add(BorderLayout.CENTER,map);
     
            final JFrame frm = new JFrame();
            frm.setContentPane(panneau);
            frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frm.setSize(800, 600);
            frm.setLocationRelativeTo(null);
            frm.setVisible(true);
     
     // context.layers().clear(); permet la suppression des layers
     //featureLayer.setSelectable(true);
      //      featureLayer.setVisible(true);
       //     context.layers().add(featureLayer);
    // Methods in org.geotoolkit.map with parameters of type LayerListener
     //void 	MapLayer.addLayerListener(LayerListener listener)
     
        }
    }
    sachant que mon URL est déclarée a la ligne 71 , voici le rapport d'erreur généré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    run:
    Chargement du driver jdbc ds la JVM réussie
    Connexion réussite
    Exception in thread "main" java.lang.NullPointerException
            at projet1.projet1.main(projet1.java:73)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)
    merci

Discussions similaires

  1. Ouvrir un fichier dans mon application Eclipse RCP
    Par romain31770 dans le forum Eclipse Platform
    Réponses: 8
    Dernier message: 29/04/2011, 13h19
  2. Récupérer un fichier dans mon application
    Par 1rageux dans le forum Android
    Réponses: 7
    Dernier message: 19/12/2009, 17h42
  3. Comment importer un jar dans mon application ?
    Par verbose dans le forum Général Java
    Réponses: 11
    Dernier message: 16/04/2008, 15h27
  4. importation d'un fonction d'une dll dans mon application
    Par jeannot27 dans le forum C++Builder
    Réponses: 7
    Dernier message: 11/07/2005, 15h35
  5. Réponses: 7
    Dernier message: 26/06/2003, 09h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo