Java - Drole de symboles fichier.txt
Résolu
ksyrium1
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
ksyrium1 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
ksyrium1 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voilà quelques jours que je crée un programme qui doit s'appuyer sur des données d'un fichier excel.
Vu que je dois manipuler ces données "dans tous les sens" (1ère fois que j'utilise POI) j'ai décidé de les reclasser dans un fichier .txt .
Et là ça se complique, j'ai extrait tout ce dont j'avais besoin du fichier excel sous forme de Double, je les rentre dans un fichier.txt et lorsque j'ouvre ce fichier je regrette de ne pas parler chinois (il n'y a que des symboles "chinois").
Extrait du code:
try {
fos = new ObjectOutputStream(
new BufferedOutputStream(
new FileOutputStream(
new File("test.txt"))));
for (Iterator rowIt = sheet.rowIterator(); rowIt.hasNext();) {
totalLigne = 0;
row = (HSSFRow) rowIt.next();
for (Iterator cellIt = row.cellIterator(); cellIt.hasNext();) {
cell = (HSSFCell) cellIt.next();
System.out.println("cellule: "+cell);
celldouble=0.0;
cellstring=cell.toString();
if(cellstring!=""){
celldouble = Double.parseDouble(cellstring);
fos.writeDouble(celldouble); //--------------------------ici j'écris
}
System.out.println("celldouble |"+celldouble+"|"); // --------"bons" nombres
System.out.println("");
}
}
fos.close();
System.out.println("terminé !");
} catch (FileNotFoundException e) {
//Cette exception est levée
//si l'objet FileInputStream ne trouve aucun fichier
e.printStackTrace();
} catch (IOException e) {
// Erreur
//d'écriture ou de lecture
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
En sachant que dans la console les "bons" nombres apparaissent, mais pas dans test.txt...
Merci d'avance!
voilà quelques jours que je crée un programme qui doit s'appuyer sur des données d'un fichier excel.
Vu que je dois manipuler ces données "dans tous les sens" (1ère fois que j'utilise POI) j'ai décidé de les reclasser dans un fichier .txt .
Et là ça se complique, j'ai extrait tout ce dont j'avais besoin du fichier excel sous forme de Double, je les rentre dans un fichier.txt et lorsque j'ouvre ce fichier je regrette de ne pas parler chinois (il n'y a que des symboles "chinois").
Extrait du code:
try {
fos = new ObjectOutputStream(
new BufferedOutputStream(
new FileOutputStream(
new File("test.txt"))));
for (Iterator rowIt = sheet.rowIterator(); rowIt.hasNext();) {
totalLigne = 0;
row = (HSSFRow) rowIt.next();
for (Iterator cellIt = row.cellIterator(); cellIt.hasNext();) {
cell = (HSSFCell) cellIt.next();
System.out.println("cellule: "+cell);
celldouble=0.0;
cellstring=cell.toString();
if(cellstring!=""){
celldouble = Double.parseDouble(cellstring);
fos.writeDouble(celldouble); //--------------------------ici j'écris
}
System.out.println("celldouble |"+celldouble+"|"); // --------"bons" nombres
System.out.println("");
}
}
fos.close();
System.out.println("terminé !");
} catch (FileNotFoundException e) {
//Cette exception est levée
//si l'objet FileInputStream ne trouve aucun fichier
e.printStackTrace();
} catch (IOException e) {
// Erreur
//d'écriture ou de lecture
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
En sachant que dans la console les "bons" nombres apparaissent, mais pas dans test.txt...
Merci d'avance!
A voir également:
- Java - Drole de symboles fichier.txt
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
C'est parce que tu utilises un ObjectOutputStream, ce que tu fais en fait c'est que tu stockes les valeurs de tes double en binaire sur 64 bits, et non pas en chiffres comme tu le voudrais... Essayes plutôt :
La confiance n'exclut pas le contrôle
FileOutputStream fos = new FileOutputStream("test.txt"); // ... fos.write(cellstring.getBytes());
La confiance n'exclut pas le contrôle