Perché la classe BufferedReader
ha un metodo readLine()
, ma la classe BufferedWriter
non ha un metodo ? Ora dobbiamo fare write(str + "\n")
o write(str)
e newLine()
.Metodo writeLine della classe BufferedWriter
risposta
Lettura tramite javadocs Non vedo alcun motivo specifico per cui non viene fornito un metodo writeLine()
. Con i metodi write
forniti, BufferedWriter bufferizzerà i caratteri prima della scrittura per motivi di efficienza. Fornire un nuovo metodo writeLine()
non aggiungerà alcun valore poiché il flusso di caratteri fornito in questo immaginario metodo writeLine
verrà memorizzato nel buffer e scritto solo quando il buffer è pieno.
È possibile passare alla classe PrintWriter anziché a BufferedWriter in quanto fornisce il metodo println(String str)
che può essere utilizzato per scrivere una stringa e un carattere di fine riga. Ma questo è inefficiente se confrontato con BufferedWriter ed è meglio usarlo solo quando vuoi che il tuo file di output abbia le stringhe scritte immediatamente chiamando il metodo println().
Con classe BufferedWriter
per il motivo indicato in here il metodo migliore è utilizzare i metodi write()
e newLine()
.
Per sfruttare i vantaggi di BufferedWriter
e di avere accesso a println()
metodo, è possibile fare il seguito, come suggerito in javadocs:
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
out.println("Hello World!");
- 1. WriteLine per processo
- 2. bufferedwriter si arresta nel mezzo della scrittura
- 3. FileWriter vs BufferedWriter
- 4. Quando per irrigare un BufferedWriter
- 5. Java: BufferedWriter saltando newline
- 6. esegue il metodo della classe derivata, ma ottiene il parametro predefinito dal metodo della classe base
- 7. usando BufferedWriter nel pallone whooshalchemy
- 8. Java - Non sovrascrivere con bufferedwriter
- 9. Java "serializzazione del metodo" della classe anonima
- 10. Chiama il metodo della classe privata dal metodo dell'istanza privata
- 11. chiamata metodo di istanza dal metodo della classe
- 12. Metodo della classe derivata dalla classe base riferimento
- 13. Ottieni il nome della classe Ruby senza metodo di classe
- 14. Chiamata al metodo principale della classe ereditata dalla classe base
- 15. decltype per metodo classe metodo
- 16. È eccessivo usare BufferedWriter e BufferedOutputStream insieme?
- 17. WF4RC, attività WriteLine genera errori su StringWriter assegnato a TextWriter
- 18. Scrittore è un metodo atomico?
- 19. Python: Come chiamare un metodo di istanza da un metodo di classe della stessa classe
- 20. Metodo di chiamata sulla classe figlio dal metodo della classe padre (Objective-c 2.0)
- 21. accesso al metodo della classe base con l'oggetto della classe derivata che ha un metodo con lo stesso nome
- 22. Modo per rendere il metodo della classe genitore Java restituire l'oggetto della classe figlio
- 23. Chiamare il metodo statico dalla Classe B (che estende la Classe A) della Classe A
- 24. Come chiamare metodo della classe base attraverso puntatore alla classe base che punta alla classe derivata
- 25. le istanze della classe Classe
- 26. Quale dovrei usare: "Write-Host", "Write-Output" o "[console] :: WriteLine"?
- 27. Come inizializzare un'istanza della classe interna se la classe interna è dichiarata nel metodo della classe esterna?
- 28. Alias per il nome della classe nel metodo
- 29. metodo di concatenamento tra cui costruttore della classe
- 30. PHP ignora il metodo __set all'interno della classe
Questo non risponde alla domanda. – YoungHobbit
So che devo farlo, ma mi stavo chiedendo perché non esiste un metodo pratico per farlo in una sola chiamata. Altre lingue che conosco come C# hanno questo. –
@ 0ne_Up - Ho cercato e non sono riuscito a trovare un equivalente writeLine() nella classe BufferedStream di C# https://msdn.microsoft.com/en-us/library/system.io.bufferedstream_methods(v=vs.90). aspx. Puoi farmi sapere a quale classe ti stai riferendo? – vk239