J'essaye de prendre une valeur numérique enregistrée dans un fichier .txt
, le convertir en int
, puis ajouter ce int
et un autre qui est défini dans le programme . Cette section semble être correcte, mais lorsque j'essaie de sauvegarder cette nouvelle valeur dans le fichier original .txt
, un symbole étrange apparaît.Bizarre "boîte" symbole apparaît lors de l'écriture dans un fichier .txt
/*
* @param args the command line arguments
*/
public class TestForAqTablet1 {
public static void main(String[] args) {
int itemval=0;
String itemcount= "3";
try{
BufferedReader in = new BufferedReader(new FileReader("C:\\Users\\kyleg\\Documents\\AQ App Storage\\stock\\1~ k\\od.txt"));
String line;
System.out.println("reading file");
while((line = in.readLine()) != null){
itemval = Integer.parseInt(line);
}
in.close();
}
catch (IOException ex) {
Logger.getLogger(TestForAqTablet1.class.getName()).log(Level.SEVERE, null, ex);
}
//math
System.out.println("previous number "+itemval);
System.out.println("count "+itemcount);
int total = itemval + Integer.parseInt(itemcount);
System.out.println("Total: "+total);
//write
try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("C:\\Users\\kyleg\\Documents\\AQ App Storage\\stock\\1~ k\\od.txt"), StandardCharsets.UTF_8))) {
writer.write(total);
catch (IOException ex) {
// handle me
}
}
}
}
Le fichier .txt
il est la lecture de ne contient que le numéro 0
.
Mon objectif est d'augmenter chaque fois que le programme est exécuté, par le nombre spécifié (itemcount
).
C'est l'erreur que je continue à obtenir:
run:
reading file
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:569)
at java.lang.Integer.parseInt(Integer.java:615)
at test.pkgfor.aq.tablet.pkg1.TestForAqTablet1.main(TestForAqTablet1.java:37)
C:\Users\kyleg\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
si vous remplacez 'writer.write (total),' 'avec writer.write (» 0 ");' êtes-vous encore en train de sauver des caractères étranges – Gab
quand je change le code pour qu'il enregistre "0" – Kyle
Avec les citations ou sans les citations – Gab