คำถามติดแท็ก bufferedreader

12
สแกนเนอร์กับ BufferedReader
เท่าที่ผมรู้ว่าทั้งสองวิธีที่พบมากที่สุดของการอ่านข้อมูลตัวอักษรตามจากไฟล์ในชวาจะใช้หรือScanner BufferedReaderฉันรู้ว่าการBufferedReaderอ่านไฟล์อย่างมีประสิทธิภาพโดยใช้บัฟเฟอร์เพื่อหลีกเลี่ยงการดำเนินการทางกายภาพของดิสก์ คำถามของฉันคือ: ไม่Scannerดำเนินการเช่นเดียวBufferedReader? ทำไมคุณถึงเลือกScannerมากกว่าBufferedReaderหรือในทางกลับกัน?

9
ฉันจำเป็นต้องปิด () ทั้ง FileReader และ BufferedReader หรือไม่
ฉันกำลังอ่านไฟล์ในเครื่องโดยใช้ BufferedReader ที่พันรอบ FileReader: BufferedReader reader = new BufferedReader(new FileReader(fileName)); // read the file // (error handling snipped) reader.close(); ฉันจำเป็นต้องได้close()รับFileReaderเช่นกันหรือเสื้อคลุมจะจัดการที่? ฉันเคยเห็นรหัสที่ผู้คนทำสิ่งนี้: FileReader fReader = new FileReader(fileName); BufferedReader bReader = new BufferedReader(fReader); // read the file // (error handling snipped) bReader.close(); fReader.close(); วิธีการนี้เรียกจาก servlet และฉันต้องการให้แน่ใจว่าฉันไม่เปิดมือจับไว้

12
การอ่าน Android จากสตรีมอินพุตอย่างมีประสิทธิภาพ
ฉันกำลังสร้าง HTTP รับคำขอไปยังเว็บไซต์สำหรับแอปพลิเคชัน Android ที่ฉันกำลังทำ ฉันใช้ DefaultHttpClient และใช้ HttpGet เพื่อออกคำขอ ฉันได้รับการตอบสนองเอนทิตีและจากนี้รับวัตถุ InputStream สำหรับรับ html ของหน้า จากนั้นฉันจะวนรอบการตอบกลับโดยทำดังนี้: BufferedReader r = new BufferedReader(new InputStreamReader(inputStream)); String x = ""; x = r.readLine(); String total = ""; while(x!= null){ total += x; x = r.readLine(); } อย่างไรก็ตามเรื่องนี้ช้าลงอย่างน่ากลัว มันไม่มีประสิทธิภาพไหม? ฉันไม่ได้โหลดหน้าเว็บขนาดใหญ่ - www.cokezone.co.ukดังนั้นขนาดไฟล์ไม่ใหญ่ มีวิธีที่ดีกว่าในการทำเช่นนี้? ขอบคุณ แอนดี้

3
แปลง InputStream เป็น BufferedReader
ฉันกำลังพยายามอ่านไฟล์ข้อความทีละบรรทัดโดยใช้ InputStream จากไดเรกทอรีสินทรัพย์ใน Android ฉันต้องการแปลง InputStream เป็น BufferedReader เพื่อให้สามารถใช้ readLine () ฉันมีรหัสต่อไปนี้: InputStream is; is = myContext.getAssets().open ("file.txt"); BufferedReader br = new BufferedReader (is); บรรทัดที่สามลดข้อผิดพลาดต่อไปนี้: เครื่องหมายหลายอันในบรรทัดนี้ Constructor BufferedReader (InputStream) ไม่ได้ถูกกำหนดไว้ สิ่งที่ฉันพยายามทำใน C ++ จะเป็นเช่น: StreamReader file; file = File.OpenText ("file.txt"); line = file.ReadLine(); line = file.ReadLine(); ... ฉันทำอะไรผิดหรือฉันควรทำอย่างไร ขอบคุณ!

8
ความแตกต่างระหว่าง java.io.PrintWriter และ java.io.BufferedWriter
โปรดดูรหัสด้านล่าง: // A.class File file = new File("blah.txt"); FileWriter fileWriter = new FileWriter(file); PrintWriter printWriter = new PrintWriter(fileWriter); // B.class File file = new File("blah.txt"); FileWriter fileWriter = new FileWriter(file); BufferedWriter bWriter = new BufferedWriter(fileWriter); สองวิธีนี้แตกต่างกันอย่างไร? เมื่อใดที่เราควรใช้ PrintWriter กับ BufferedWriter
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.