SCJP Book ، IO Section: هل هذا خطأ مطبعي أم أن هناك سببًا سيبدو هكذا؟

StackOverflow https://stackoverflow.com/questions/2836620

  •  26-09-2019
  •  | 
  •  

سؤال

سؤالي حول السطر (تحرير: 19) ، حيث يتم إنشاء طباعة جديدة مع المُنشئ الذي يأخذ FilewRiter FW كمعلمة. لا أفهم استخدام تسلسل BufferWriter BW إلى FilewRiter إذا لم يتم استخدامه لاحقًا في الكتابة الفعلية. هل يمكن أن تطبق Java التسلسل بطريقة لا تزال BW تؤثر بطريقة أو بأخرى على بقية البرنامج؟

16.         try {
17.             FileWriter fw = new FileWriter(test);
18.             BufferedWriter bw = new BufferedWriter(fw, 1024);
19.             PrintWriter out = new PrintWriter(fw);
20.             out.println("<html><body><h1>");
21.             out.println(args[0]);
22.             out.println("</h1></body></html>");
23.             out.close();
24.             bw.close();
25.             fw.close();
26.         }catch(IOException e) {
27.             e.printStackTrace();
28.         }

أعتقد أنه من المحتمل أن يكون خطأ مطبعيًا وكانوا يهدفون إلى استخدام BW كمعلمة لـ PrintWriter ، ولكن كما يقول العنوان ، أنا جديد على هذا.

شكرا للجميع مقدما.

هل كانت مفيدة؟

المحلول

أنت محق ، هذا يبدو وكأنه خطأ مطبعي.

لا ينبغي أن يكون للسطر 18 أي تأثير على نتائج تشغيل هذا الرمز.

ال BufferyWriter Javadoc يوضح مثالًا طبيعيًا على كيفية استخدام FilewRiter و BufferedWriter و PrintWriter عادةً.

نصائح أخرى

أي كتاب دقيق هذا؟ هناك عدد قليل-أول مكان للبحث هو الذهاب إلى صفحة الناشر للكتاب والبحث عن قسم Errata. من الجيد أن يكون هذا خطأ لأنه ، لا ، Java لا يسلط هذه الكائنات المعينة (لن تكون التسلسل هي الكلمة الصحيحة حقًا ، والتي ستكون أكثر من آثار جانبية). إذا وجدت صفحة errata ولم يتم إدراجها ، فيمكنك دائمًا إرسالها إلى المؤلفين عبر الموقع ، والسماح لهم بالاتحاق.

يجمع وينتج نفس النتيجة في كلتا الحالتين ، ولكن نعم ، يبدو وكأنه خطأ مطبعي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top