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

avec Java Discussion :

Lire des float dans un fichier


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    UUA
    Inscrit en
    Mars 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : UUA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 82
    Points : 27
    Points
    27
    Par défaut Lire des float dans un fichier
    Bonjour ...{je suis débutant en java}...je veux connaitre comment faire lire des ''float'' enregistrer dans un fichier
    j'ai cette classe
    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
     
    package conversion;
     
    import java.io.IOException;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.util.Collections;
    import java.util.List;
    import java.util.stream.Collectors;
     
    public class ValueReading {
    	public static List<Conversion > loadPoints(String filename) throws IOException {
      		return Files.lines(Paths.get(filename))
      				    .map(line-> line.split(","))
      				    .map(coord-> new Conversion(Float.parseFloat(coord[0]), Float.parseFloat(coord[1])))
      				    .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
      	}
     
     
    }
    qui doit étre appelée par cette classe

    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
     
    package conversion;
     
    import java.io.IOException;
    import java.util.Comparator;
    import java.util.List;
    import java.util.function.Function;
     
    import conversion.ValueReading;
     
     
     
     
     
        public class Conversion {
        	private static final String NOM_DU_FICHIER = "D:\\Doc\\java\\eq\\POI\\temperature\\src\\application\\cord.in"; 
     
            public final float abs;
            public final float ord;
     
            public Conversion(float abs, float ord) throws IOException {
     
            	  List<Conversion> data = ValueReading.loadPoints(NOM_DU_FICHIER);
     
            	/*je veux que le variable ''abs'' prend le premier float et ''ord'' prend la deuxieme 
            	  et ainsi de suite..*/
     
                 this.abs=abs;
                 this.ord=ord;
                 data.stream();
     
                 // System.out.print("\nabs="+abs);
                //  System.out.print("\nord="+ord);
     
     
     
            }
            public static void main(String[] args){
            	// launch(args);
            	}}
    Remarque :je veux que le variable ''abs'' prend le premier float et ''ord'' prend la deuxième
    et ainsi de suite....
    Je veux utiliser ces deux variable là dans qq calcule..


    les donnée dans le fichier sont comme çaséparée par virgule).

    28245.958,95478
    9728643.1855,878684.11
    11258.15,794.155

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Oula je crois que tu prends le problème à l'"envers". (ou alors j'ai loupé quelque chose).

    Je créerai un objet Conversion qui va simplement garder en mémoire un tuple de float.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Conversion{
     
    	float abs,ord;
     
    	public Conversion(float abs, float ord)
    	{
    		this.abs = abs ;
    		this.ord = ord ;
    	}
     
    }
    ValueReading on y touche pas (d'ailleurs c'est pas toi qui l'a écrite si je ne m'abuse...).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class ValueReading {
     
     
    	public static List<Conversion> loadPoints(String filename) throws IOException {
      		return Files.lines(Paths.get(filename))
      				    .map(line-> line.split(","))
      				    .map(coord-> new Conversion(Float.parseFloat(coord[0]), Float.parseFloat(coord[1])))
      				    .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
      	}
     
    }
    et un main pour lier les 2

    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
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
     
    public class MainSnippet
    {
    	public static void main(String args[]) throws IOException{
    		List<Conversion> data = ValueReading.loadPoints("data.in");
    		for (Iterator<Conversion> iterator = data.iterator(); iterator.hasNext();)
    		{
    			Conversion conversion = iterator.next();
     
    			// TODO : Faire ce que tu veux avec tes abs et ord.
    			System.err.println("Coordonée : "+conversion.abs+" , "+conversion.ord);
     
    		}
    	}
    }
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    UUA
    Inscrit en
    Mars 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : UUA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 82
    Points : 27
    Points
    27
    Par défaut
    Grand merci pour vous et pour Joel.Drigo

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    UUA
    Inscrit en
    Mars 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : UUA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 82
    Points : 27
    Points
    27
    Par défaut
    Ok supposons que j'ai fait qq calcule et j'arrive à des résultat comme ça :

    x=1855959.55 y=154.10 z=114545,055
    x=785959.55 y=454.10 z=10454855,055
    x=18558959.55 y=7854.10 z=418455,055
    x=585959.55 y=1034.10 z=1554855,055
    ..

    et je veux enregistrer ces donnée dans deux autre fichier

    le premier contient tout les données c'est à dire (x et y et z )
    et l'autre fichier contient juste (x et y)

    Comment faire ça et merçi ?

    voilà la classe après qq modification: (voir les 3 ligne de résultat après ligne 33)

    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
     
    package conversion;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
     
    public class GPS_to_XYZ
    {
    	public static void main(String args[]) throws IOException{
     
     
     
    		List<Conversion> data = GPS_ValueReading.loadPoints("D:\\Doc\\java\\eq\\POI\\temperature\\src\\application\\cord.in");
    		for (Iterator<Conversion> iterator = data.iterator(); iterator.hasNext();)
    		{
    			Conversion conversion = iterator.next();
     
    			// TODO : Faire ce que tu veux avec tes lat et lon.
     
     
     
    			float cosLat = (float) Math.cos(conversion.lattitude * Math.PI / 180.0);
    			float sinLat = (float) Math.sin(conversion.lattitude * Math.PI / 180.0);
    			float cosLon = (float) Math.cos(conversion.longitude * Math.PI / 180.0);
    			float sinLon = (float) Math.sin(conversion.longitude * Math.PI / 180.0);
    			float rad = (float) 6378137.0;
    			float  f = (float) (1.0 / 298.257224);
    			float C = (float) (1.0 / Math.sqrt(cosLat * cosLat + (1 - f) * (1 - f) * sinLat * sinLat));
    			float S = (float) ((1.0 - f) * (1.0 - f) * C);
     
    			float h = (float) conversion.altitude;  //lecture d'altitude
     
     
    			float x = (rad * C + h) * cosLat * cosLon;
    			float y = (rad * C + h) * cosLat * sinLon;
    			float z = (rad * S + h) * sinLat;
     
    			/* Ce programme va convertir le lattitude et le longitude isue de GPS
    			en X Y Z (coordonnée sphérique) */
     
    			System.out.println("x="+x+" y="+y+" z="+z);
     
     
     
     
    		}
    		}
    	}

Discussions similaires

  1. Fonction pour lire des nombres dans un fichier
    Par passant_ dans le forum Débuter
    Réponses: 11
    Dernier message: 28/10/2008, 18h47
  2. Ecrire & Lire des énumérés dans un fichier Texte
    Par WebPac dans le forum Langage
    Réponses: 8
    Dernier message: 18/06/2008, 10h04
  3. Lire des champs dans une fichier texte
    Par darkman13130 dans le forum C++Builder
    Réponses: 17
    Dernier message: 06/06/2008, 16h31
  4. [VBS]Lire des données dans un fichier .txt
    Par kacxial dans le forum VBScript
    Réponses: 4
    Dernier message: 28/02/2007, 13h44
  5. [VBA-E] Lire des valeurs dans un fichier excel
    Par nicobox dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/05/2006, 15h40

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