J'ai un problème avec l'entrée que je reçois en lisant un fichier.Sortie impaire du fichier
Le fichier est fait dans une autre activité et est très simple:
ArrayList stuff = new ArrayList();
stuff.add("1,2,3");
try{
String saveFile = "saveGamesTest1.csv";
FileOutputStream saveGames = openFileOutput(saveFile, getApplicationContext().MODE_APPEND);
ObjectOutputStream save = new ObjectOutputStream(saveGames);
save.writeObject(stuff);
save.close(); }
Dans l'autre activité, il est en cours de lecture via
try {
FileInputStream fileIn=openFileInput("saveGamesTest1.csv");
InputStreamReader InputRead = new InputStreamReader(fileIn);
Scanner s = new Scanner(InputRead).useDelimiter(",");
System.out.println(s.next());
System.out.println(s.next());
System.out.println(s.next());
}
Je me attendais (et en espérant) pour obtenir un résultat de retour comme
Cependant, le résultat que je reçois est la suivante:
/storage/emulated/0/Android/data/ys.test/files/saveGamesTest1.csvsr java.util.ArrayListxaIsizexpwt1
3x
Qu'est-ce que Je fais mal?
.
EDIT
J'ai essayé Serializable comme suggéré ci-dessous, comme suit:
public class Save implements java.io.Serializable {
public String name;
public String address;
public transient int SSN;
public int number;
}
public void save(){
Save e = new Save();
e.name = "Reyan Ali";
e.address = "Phokka Kuan, Ambehta Peer";
e.SSN = 11122333;
e.number = 101;
try {
String saveFile = "save.ser";
FileOutputStream saveGames = openFileOutput(saveFile, getApplicationContext().MODE_APPEND);
ObjectOutputStream out = new ObjectOutputStream(saveGames);
out.writeObject(e);
out.close();
saveGames.close();
System.out.printf("Serialized data is saved in save.csv");
}
catch(IOException i) {
i.printStackTrace();
out.println("Save exception gepakt");
}
}
Cependant, out.writeObject(e);
donne une erreur en disant que ce n'est pas Serializable
JavaScript! = Java – Roope