2015-12-15 16 views

cevap

7

javadocs ile okuma yap Neden writeLine() yönteminin belirli bir neden göremiyorum. Sağlanan write yöntemleriyle BufferedWriter, karakterleri verimlilik amacıyla yazmadan önce arabelleğe alacaktır. Yeni bir writeLine() yönteminin sağlanması, bu hayali writeLine yönteminde sağlanan karakter akışı arabellek dolduğunda ve arabellek dolduğunda yazılacağından herhangi bir değer eklemeyecektir.

Kullanılabilen println(String str) yöntemini kullanabildiği için BufferedWriter yerine PrintWriter sınıfına geçebilirsiniz, bu da bir dize ve yeni satır karakteri yazabilir. Ancak bu BufferedWriter ile karşılaştırıldığında verimsizdir ve bunu yalnızca çıktı dosyanızın println() yöntemini çağırmaya derhal dizeleri yazılmasını istediğinizde kullanmak daha iyidir.

here numaralı belgede belirtilen nedenle BufferedWriter sınıfındaki en iyi yaklaşım write() ve newLine() yöntemlerini kullanmaktır.

javadocs önerildiği üzere aşağıda yapabilirsiniz BufferedWriter olarak yararlanabilmelerini için ve println() yöntemine erişmesini:

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out"))); 
out.println("Hello World!"); 
+1

Bu soruya cevap vermez. – YoungHobbit

+0

Bunu yapmam gerektiğini biliyorum, ancak sadece bir çağrıda bunu yapmak için uygun bir yöntem bulunmadığını merak ediyordum. C# gibi bildiğim diğer diller var. –

+0

@ 0ne_Up - Ben baktım ve C# https://msdn.microsoft.com/en-us/library/system.io.bufferedstream_methods(v=vs.90 BufferedStream sınıfında bir writeLine() eşdeğeri bulamadı. aspx. Hangi sınıfa başvurduğunuzu bana bildirir misiniz? – vk239

İlgili konular