Java - Comment écrire ArrayList d'Objets dans un fichier txt?
/** J'ai quelques méthodes aime ajouter,afficher,trier,supprimer,et de sortie que la mise en œuvre de la liste de tableaux de la fonction. Il fonctionne correctement, mais le problème est que les objets qui ont été ajoutés n'ont pas été enregistrées sur un .fichier txt, juste des objets temporaires. J'ai donc besoin de les ajouter dans un fichier texte,afin que je puisse les afficher et de les supprimer plus tard. Voici la partie du code.
*/
public class testing {
public static void main(String[] args) {
String Command;
int index = 0;
Scanner input = new Scanner(System.in);
ArrayList<String> MenuArray = new ArrayList<String>();
boolean out = false;
while (!out) {
System.out.print("Enter your Command: ");
Command = input.nextLine();
//method ADD for adding object
if (Command.startsWith("ADD ") || Command.startsWith("add ")) {
MenuArray.add(Command.substring(4).toLowerCase());
//indexing the object
index++;
/** i stuck here,it won't written into input.txt
BufferedWriter writer = new BufferedWriter(new FileWriter(
"input.txt"));
try {
for (String save : MenuArray) {
int i = 0;
writer.write(++i + ". " + save.toString());
writer.write("\n");
}
} finally {
writer.close();
}*/
} else if (Command.startsWith("EXIT") || Comand.startsWith("exit")) {
out = true;
}
}
}
}
Veuillez corriger le code de formatage d'abord! Vous devez respecter Java directives de codage (par exemple, les minuscules pour les variables, etc.)!
désolé, juste un débutant
Vous ne devriez pas demander à la même question deux fois
oui,la prochaine fois, il ne s'est produit de nouveau.
désolé, juste un débutant
Vous ne devriez pas demander à la même question deux fois
oui,la prochaine fois, il ne s'est produit de nouveau.
OriginalL'auteur lawZ | 2013-09-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
ObjectOutputStream
à écrire un objet dans un fichier:Mec,alors comment puis-je afficher les objets à l'intérieur du fichier ? voici la méthode suivante : else if(Commande.startsWith("AFFICHAGE") || Commande.startsWith("affichage") ) { int i=0; for(String temp: MenuArray){ System..println(++i + ". "+ temp); }
Vous lisez le fichier à l'aide de
ObjectInputStream
voir un exemple de codehttp://www.tutorialspoint.com/java/io/objectinputstream_readobject.htm
veuillez prendre un coup d'oeil ici : stackoverflow.com/questions/19066952/...
Je vois votre question connexe. Vous voulez que je poste même réponse?
OriginalL'auteur anubhava
FileUtils#writeLines semble faire exactement ce dont vous avez besoin.
C'est une réponse complète, pas besoin de lire tout le manuel. Télécharger apache jar, de l'importer dans votre projet, et l'utilisation
FileUtils.writeLines(new File("input.txt"), MenuArray);
.ok, je vais essayer ... je viens d'apprendre le Java sur il y a quelques jours par mon ownself, et en train de faire cette tâche ... tellement il y a donc beaucoup de stuffs que je n'ai pas vraiment l'obtenir.
Il vaudrait mieux, si, si, nous avons aidé l'OP, pour résoudre son problème d'origine - pourquoi ne peut-il pas utiliser un Écrivain et une boucle pour le faire?
OriginalL'auteur sp00m