Sobes.tech
Middle

Kāda ir atšķirība starp klasēm PrintWriter un PrintStream?

sobes.tech AI

Atbilde no AI

PrintWriter un PrintStream ir irklases datu izvadei, bet ar dažādām īpašībām:

  • PrintStream darbo ar baitu straumēm (OutputStream), bet PrintWriter ar rakstzīmju straumēm (Writer).
  • PrintWriter atbalsta kodējuma norādīšanu, kas ir svarīgi, lai pareizi darbotos ar tekstu dažādās valodās.
  • PrintWriter ir metodes automātiskai bufera iztukšošanai (autoFlush), izsaucot println, printf un format.
  • PrintStream tieši neatbalsta kodējumu darbu un ir novecojis teksta izvadei.

Piemērs, kā izveidot PrintWriter ar norādītu kodējumu:

PrintWriter writer = new PrintWriter(new OutputStreamWriter(System.out, StandardCharsets.UTF_8), true);
writer.println("Piemērs ar PrintWriter izvadi");

Tādēļ teksta izvadei, īpaši ja ir svarīga kodējuma precizitāte, labāk izmantot PrintWriter.