Différence entre PrintWriter et de la classe FileWriter
try{
File file = new File("write.txt");
FileWriter writer = new FileWriter(file);
PrintWriter printWriter = new PrintWriter(writer);
printWriter.println("pqr");
printWriter.println("jkl");
printWriter.close();
PrintWriter printWriter = new PrintWriter(file);
printWriter.println("abc");
printWriter.println("xyz");
printWriter.close();
}
Je ne comprends pas quelle est la différence pari n ces de deux.
Dans le scénario que je devrais utiliser printWriter et fileWriter.
Avez-vous Google?
S'il vous plaît regardez pour la question déjà répondu sur stackoverflow......... stackoverflow.com/questions/5759925/...
S'il vous plaît regardez pour la question déjà répondu sur stackoverflow......... stackoverflow.com/questions/5759925/...
OriginalL'auteur nakul | 2012-12-28
Vous devez vous connecter pour publier un commentaire.
Bien que ces deux utilise en interne un FileOutputStream , la principale différence est que PrintWriter propose quelques autres méthodes pour la mise en forme comme println et printf.
extraits de code:
Grandes Différences :
PrintWriter automatically invokes flush after every byte of data is written
. Vous pouvez créer un objet avec chasse d'eau automatique, mais la valeur par défaut est sans chasse d'eau automatique. Voir icije pense que vous confondez PrintWriter classe avec la classe PrintStream parce que dans la classe PrintWriter si rinçage automatique est demandé au moment de la création de l'objet, puis il sera fait uniquement quand l'un des println(), printf(), le format() est invoquée et n'est pas toujours.
point est absolument droit. PrintWriter être instancié avec autoflush, mais le constructeur par défaut à false (voir Javadoc / code source). Ainsi, le troisième point de la réponse est trompeuse de l'OMI; il faut lire "PrintWriter peut être instancié automatiquement chasse...".
merci pour vos contributions. corrigé ma réponse que par vos commentaires.
OriginalL'auteur Rahul
PrintWriter
vous donne un peu de pratique les méthodes de mise en forme commeprintln
etprintf
. Donc, si vous avez besoin d'écrire du texte imprimé, - vous pouvez l'utiliser.FileWriter
est plus comme "faible niveau" de l'écrivain qui vous donne la capacité à écrire des chaînes de caractères et des tableaux de char. Fondamentalement, je ne pense pas qu'il y est une grande différence de ce que vous choisissez.OriginalL'auteur Nikita Beloglazov
À partir de la source de ce PrintWriter n'lorsque vous transmettez un Fichier pour l'ouvrir dans une tampon façon
si vous passer un FileWriter, il va l'ouvrir, sans mise en mémoire tampon
Cela signifie que le premier exemple peut être légèrement plus efficace. Cependant je voudrais utiliser le
File
sansFileWriter
parce que pour moi c'est plus simple.OriginalL'auteur Peter Lawrey
Tout FileWriter a seulement une série de méthodes, PrintWriter a un riche ensemble de goût méthodes, l'un d'eux est dans votre exemple -
PrintWriter.println
.Vous devez également garder à l'esprit que "les méthodes de cette classe ne jetez jamais les I/O des exceptions, bien que certains de ses constructeurs mai. Le client peut se renseigner pour savoir si des erreurs se sont produites en invoquant checkError()"
OriginalL'auteur Evgeniy Dorofeev