méthode write de la classe FileOutputStream
Bonjour,
J'ai crée une variable aEcrire de type String.
Cette variable récupère le contenu d'une chaine de caractère saisie par un utilisateur .
La méthode write de la classe FileOutputStream ecrit dans un fichier nouveau, le contenu de cette variable.
En fait, cette variable contient une nouvelle chaine de caractères à chaque fois que l'utilisateur saute de ligne.
Je vois que je suis obligée d'appeler la méthode write pour qu'il y ait un retour chariot à chaque fin de ligne.
Est ce du fait de la méthode charAt(i) qui ne récupère pas le caractère retour chariot( qui est en fait composé de deux caractères spéciaux sous windows).
Voici le code en question
Code:
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
|
import java.io.*
public class Ecrirefichier{
public static void main(String[]args){
String nomFichier;
fileOutputStream fichier;
String aEcrire;
Terminal.ecrireString("entrez le nom du fichier a creer");
nomFichier=Terminal.lireString();
Terminal.ecrireString("Entrez des lignes a enregistrer");
Terminal.ecrireString("tapez FIN lorsque vous avez fini");
try{
fichier = new FileOutputStream(nomFichier);
aEcrire = Terminal.lireString();
while(!aEcrire.equals("FIN")){
for(int i = 0;i<aEcrire.length();i++){
fichier.write(aEcrire.charAt(i));
}// fin de for
fichier.write('\r);
fichier.write('\n);
aEcrire = Terminal.lireString();
}// fin de while
fichier.close();
} catch(IOException exc){
Terminal.ecrireString("Erreur d'entree -sortie");
}// fin de catch
}// fin de main
}// fin de classe |
Je vous informe que les méthodes LireString et ecrire Stringont le code suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
public static String lireString() // Lire un String
{
String tmp="";
char C='\0';
try {
tmp = in.readLine();
}
catch (IOException e)
{
exceptionHandler(e);
}
return tmp;
} // fin de lireString()
public static void ecrireString(String s){ // Afficher un String
try{
System.out.print(s);
} catch (Exception ex){
exceptionHandler(ex);
} |
Merci beaucoup de votre aide.
Cordialement.
Nathalie Harbonne
méthode write de la classe FileOutputStream
Bonjour et merci de ta réponse dont je tiendrai compte.
A propos de la méthode write de la classe FileOutputStream, j'ai un petit souci:
permet-elle d'écrire dans l'instance de la classe FileOutputStream nommée "fichier" ou permet elle d'écrire directement dans le fichier crée de nom "nomFichier".
Si elle écrit dans l'instance de FileOutputStream, alors à quel moment y a til écriture dans le fichier de nom "nomFichier".
En regardant lans l'api java , j'ai cru comprendre que l'écriture se fait dans l'instance de type FileOutputStream.
Est-ce correct?.
Merci beaucoup encore de ton aide.
Cordialement.
Nathalie
méthode write de la classe FileOutputStream
Bonjour et merci beaucoup de ta réponse.
Je ne comprends pas très bien ce que tu veux dire par "flushé".
Pourrais tu me faire un dessin, je pense que j'y verrai plus clair .
Est il possible également possible de stocker sur un clé usb directement?
Merci beaucoup de ta réponse.
Cordialement.
Nathalie