SCJP livre, section IO: Est-ce une faute de frappe ou est-il une raison pour laquelle il ressemblerait à ceci?

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

  •  26-09-2019
  •  | 
  •  

Question

Ma question est sur la ligne (edit: 19), où le nouveau PrintWriter est créé avec le constructeur en prenant le fw FileWriter comme paramètre. Je ne comprends pas l'utilisation de l'enchaînant bw BufferedWriter à FileWriter si elle n'est pas utilisé plus tard dans l'écriture proprement dite. Can à Java enchaînant d'une manière qui affecte encore bw en quelque sorte le reste du programme?

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.         }

Je pense qu'il est probablement une faute de frappe et qu'ils voulaient utiliser bw comme paramètre pour PrintWriter out, mais comme le dit le titre, je suis nouveau à cela.

Merci à tous à l'avance.

Était-ce utile?

La solution

Vous avez raison, cela ressemble à une faute de frappe.

La ligne 18 ne devrait avoir aucun effet sur le résultat de l'exécution de ce code.

Le BufferedWriter Javadoc montre un exemple de la façon dont la normale sont généralement utilisés FileWriter, BufferedWriter et PrintWriter.

Autres conseils

Quel livre exactement est-ce? Il y a quelques-uns - le premier aspect à examiner serait d'aller à la page de l'éditeur pour le livre et recherchez la section errata. Les chances sont bonnes que cela est une erreur parce que, non, Java n'est pas ces objets particuliers chaînage (enchaînant ne serait pas vraiment le mot juste, ce serait plus d'un effet secondaire). Si vous trouvez la page errata et ce ne sont pas dans la liste, vous pouvez toujours le soumettre aux auteurs via le site, et les laisser décider.

Il compile et produit le même résultat soit, mais oui, il ressemble à une faute de frappe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top