<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FPrintWriter</id>
		<title>Java Tutorial/File/PrintWriter - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FPrintWriter"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/PrintWriter&amp;action=history"/>
		<updated>2026-04-07T22:09:41Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/PrintWriter&amp;diff=5310&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/PrintWriter&amp;diff=5310&amp;oldid=prev"/>
				<updated>2010-06-01T05:19:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:19, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/PrintWriter&amp;diff=5309&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/PrintWriter&amp;diff=5309&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  A PrintWriter that also sends its output to a log stream ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright 2005 Joe Walker&lt;br /&gt;
 *&lt;br /&gt;
 * Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
import java.io.BufferedWriter;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.io.OutputStreamWriter;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.io.Writer;&lt;br /&gt;
import org.apache.rumons.logging.LogFactory;&lt;br /&gt;
import org.apache.rumons.logging.Log;&lt;br /&gt;
/**&lt;br /&gt;
 * A PrintWriter that also sends its output to a log stream&lt;br /&gt;
 * @author Joe Walker [joe at getahead dot ltd dot uk]&lt;br /&gt;
 */&lt;br /&gt;
public class DebuggingPrintWriter extends PrintWriter&lt;br /&gt;
{&lt;br /&gt;
    /**&lt;br /&gt;
     * Create a new PrintWriter, without automatic line flushing.&lt;br /&gt;
     * @param prefix A tag to prefix lines with for debugging purposes&lt;br /&gt;
     * @param out A character-output stream&lt;br /&gt;
     */&lt;br /&gt;
    public DebuggingPrintWriter(String prefix, Writer out)&lt;br /&gt;
    {&lt;br /&gt;
        super(out, false);&lt;br /&gt;
        this.prefix = prefix;&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Create a new PrintWriter.&lt;br /&gt;
     * @param prefix A tag to prefix lines with for debugging purposes&lt;br /&gt;
     * @param out A character-output stream&lt;br /&gt;
     * @param autoFlush A boolean; if true, the println() methods will flush the output buffer&lt;br /&gt;
     */&lt;br /&gt;
    public DebuggingPrintWriter(String prefix, Writer out, boolean autoFlush)&lt;br /&gt;
    {&lt;br /&gt;
        super(out, autoFlush);&lt;br /&gt;
        this.prefix = prefix;&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Create a new PrintWriter, without automatic line flushing, from an&lt;br /&gt;
     * existing OutputStream.  This convenience constructor creates the&lt;br /&gt;
     * necessary intermediate OutputStreamWriter, which will convert characters&lt;br /&gt;
     * into bytes using the default character encoding.&lt;br /&gt;
     * @param prefix A tag to prefix lines with for debugging purposes&lt;br /&gt;
     * @param out An output stream&lt;br /&gt;
     * @see java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream)&lt;br /&gt;
     */&lt;br /&gt;
    public DebuggingPrintWriter(String prefix, OutputStream out)&lt;br /&gt;
    {&lt;br /&gt;
        super(out, false);&lt;br /&gt;
        this.prefix = prefix;&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Create a new PrintWriter from an existing OutputStream.  This convenience&lt;br /&gt;
     * constructor creates the necessary intermediate OutputStreamWriter, which&lt;br /&gt;
     * will convert characters into bytes using the default character encoding.&lt;br /&gt;
     * @param prefix A tag to prefix lines with for debugging purposes&lt;br /&gt;
     * @param out An output stream&lt;br /&gt;
     * @param autoFlush A boolean; if true, the println() methods will flush the output buffer&lt;br /&gt;
     * @see java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream)&lt;br /&gt;
     */&lt;br /&gt;
    public DebuggingPrintWriter(String prefix, OutputStream out, boolean autoFlush)&lt;br /&gt;
    {&lt;br /&gt;
        super(new BufferedWriter(new OutputStreamWriter(out)), autoFlush);&lt;br /&gt;
        this.prefix = prefix;&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(boolean)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(boolean x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(char)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(char x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(int)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(int x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(long)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(long x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(float)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(float x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(double)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(double x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(char[])&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(char[] x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(java.lang.String)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(String x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#print(java.lang.Object)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void print(Object x)&lt;br /&gt;
    {&lt;br /&gt;
        super.print(x);&lt;br /&gt;
        buffer.append(x);&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println()&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println()&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(boolean)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(boolean x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(char)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(char x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(int)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(int x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(long)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(long x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(float)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(float x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(double)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(double x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(char[])&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(char[] x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(java.lang.String)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(String x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /* (non-Javadoc)&lt;br /&gt;
     * @see java.io.PrintWriter#println(java.lang.Object)&lt;br /&gt;
     */&lt;br /&gt;
    @Override&lt;br /&gt;
    public void println(Object x)&lt;br /&gt;
    {&lt;br /&gt;
        synchronized (lock)&lt;br /&gt;
        {&lt;br /&gt;
            printBuffer();&lt;br /&gt;
            super.println(x);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Write the characters in the print buffer out to the stream&lt;br /&gt;
     */&lt;br /&gt;
    private void printBuffer()&lt;br /&gt;
    {&lt;br /&gt;
        if (buffer.length() &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            log.debug(prefix + buffer.toString());&lt;br /&gt;
            buffer.setLength(0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * How to we prefix all the debugging lines?&lt;br /&gt;
     * @return the prefix&lt;br /&gt;
     */&lt;br /&gt;
    public String getPrefix()&lt;br /&gt;
    {&lt;br /&gt;
        return prefix;&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * How to we prefix all the debugging lines?&lt;br /&gt;
     * @param prefix the prefix to set&lt;br /&gt;
     */&lt;br /&gt;
    public void setPrefix(String prefix)&lt;br /&gt;
    {&lt;br /&gt;
        this.prefix = prefix;&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * How to we prefix all the debugging lines?&lt;br /&gt;
     */&lt;br /&gt;
    private String prefix;&lt;br /&gt;
    /**&lt;br /&gt;
     * A buffer where we store stuff before a newline&lt;br /&gt;
     */&lt;br /&gt;
    protected final StringBuffer buffer = new StringBuffer();&lt;br /&gt;
    /**&lt;br /&gt;
     * The log stream&lt;br /&gt;
     */&lt;br /&gt;
    private static final Log log = LogFactory.getLog(DebuggingPrintWriter.class);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  A PrintWriter that ends lines with a carriage return-line feed (CRLF). ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * JBoss, Home of Professional Open Source&lt;br /&gt;
 * Copyright 2005, JBoss Inc., and individual contributors as indicated&lt;br /&gt;
 * by the @authors tag. See the copyright.txt in the distribution for a&lt;br /&gt;
 * full listing of individual contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * This is free software; you can redistribute it and/or modify it&lt;br /&gt;
 * under the terms of the GNU Lesser General Public License as&lt;br /&gt;
 * published by the Free Software Foundation; either version 2.1 of&lt;br /&gt;
 * the License, or (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is distributed in the hope that it will be useful,&lt;br /&gt;
 * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&lt;br /&gt;
 * Lesser General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public&lt;br /&gt;
 * License along with this software; if not, write to the Free&lt;br /&gt;
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&lt;br /&gt;
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.&lt;br /&gt;
 */&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InterruptedIOException;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.io.Writer;&lt;br /&gt;
/**&lt;br /&gt;
 * A &amp;lt;tt&amp;gt;PrintWriter&amp;lt;/tt&amp;gt; that ends lines with a carriage return-line feed (&amp;lt;tt&amp;gt;CRLF&amp;lt;/tt&amp;gt;).&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;h3&amp;gt;Concurrency&amp;lt;/h3&amp;gt;&lt;br /&gt;
 * This class is &amp;lt;b&amp;gt;as&amp;lt;/b&amp;gt; synchronized as &amp;lt;tt&amp;gt;PrintWriter&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 * &lt;br /&gt;
 * @version &amp;lt;tt&amp;gt;$Revision: 1958 $&amp;lt;/tt&amp;gt;&lt;br /&gt;
 * @author &lt;br /&gt;
 */&lt;br /&gt;
public class CRLFPrintWriter extends PrintWriter {&lt;br /&gt;
  protected boolean autoFlush = false;&lt;br /&gt;
  public CRLFPrintWriter(final Writer out) {&lt;br /&gt;
    super(out);&lt;br /&gt;
  }&lt;br /&gt;
  public CRLFPrintWriter(final Writer out, final boolean autoFlush) {&lt;br /&gt;
    super(out, autoFlush);&lt;br /&gt;
    this.autoFlush = autoFlush;&lt;br /&gt;
  }&lt;br /&gt;
  public CRLFPrintWriter(final OutputStream out) {&lt;br /&gt;
    super(out);&lt;br /&gt;
  }&lt;br /&gt;
  public CRLFPrintWriter(final OutputStream out, final boolean autoFlush) {&lt;br /&gt;
    super(out, autoFlush);&lt;br /&gt;
    this.autoFlush = autoFlush;&lt;br /&gt;
  }&lt;br /&gt;
  protected void ensureOpen() throws IOException {&lt;br /&gt;
    if (out == null)&lt;br /&gt;
      throw new IOException(&amp;quot;Stream closed&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public void println() {&lt;br /&gt;
    try {&lt;br /&gt;
      synchronized (lock) {&lt;br /&gt;
        ensureOpen();&lt;br /&gt;
        out.write(&amp;quot;\r\n&amp;quot;);&lt;br /&gt;
        if (autoFlush) {&lt;br /&gt;
          out.flush();&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    } catch (InterruptedIOException e) {&lt;br /&gt;
      Thread.currentThread().interrupt();&lt;br /&gt;
    } catch (IOException e) {&lt;br /&gt;
      setError();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  PrintWriter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;PrintWriter is a better alternative to OutputStreamWriter and FileWriter.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;PrintWriter allows you to choose an encoding by passing the encoding information to one of its constructors.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public PrintWriter (File file)&lt;br /&gt;
public PrintWriter (File file, String characterSet)&lt;br /&gt;
public PrintWriter (String filepath)&lt;br /&gt;
public PrintWriter (String filepath, String ccharacterSet)&lt;br /&gt;
public PrintWriter (OutputStream out)&lt;br /&gt;
public PrintWriter (Writer out)&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  PrintWriter is more convenient to work with than OutputStreamWriter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;It adds nine print method overloads that allow you to output any type of Java primitives and objects.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public void print (boolean b)&lt;br /&gt;
public void print (char c)&lt;br /&gt;
public void print (char[] s)&lt;br /&gt;
public void print (double d)&lt;br /&gt;
public void print (float f)&lt;br /&gt;
public void print (int i)&lt;br /&gt;
public void print (long l)&lt;br /&gt;
public void print (Object object)&lt;br /&gt;
public void print (String string)&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There are also nine println method overloads, which rint a new line character after printing the argument.&lt;br /&gt;
In addition, there are two format method overloads that enable you to print according to a print format.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Turn System.out into a PrintWriter. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    PrintWriter out = new PrintWriter(System.out, true);&lt;br /&gt;
    out.println(&amp;quot;Hello, world&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using PrintWriter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    try {&lt;br /&gt;
      PrintWriter pw = new PrintWriter(&amp;quot;c:\\temp\\printWriterOutput.txt&amp;quot;);&lt;br /&gt;
      pw.println(&amp;quot;PrintWriter is easy to use.&amp;quot;);&lt;br /&gt;
      pw.println(1234);&lt;br /&gt;
      pw.close();&lt;br /&gt;
    } catch (IOException e) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Write lines of text to file using a PrintWriter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileWriter;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    String filename = &amp;quot;fileName.txt&amp;quot;;&lt;br /&gt;
    String[] linesToWrite = new String[] { &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot; };&lt;br /&gt;
    boolean appendToFile = true;&lt;br /&gt;
    PrintWriter pw = null;&lt;br /&gt;
    if (appendToFile) {&lt;br /&gt;
      pw = new PrintWriter(new FileWriter(filename, true));&lt;br /&gt;
    } else {&lt;br /&gt;
      pw = new PrintWriter(new FileWriter(filename));&lt;br /&gt;
      // pw = new PrintWriter(new FileWriter(filename, false));&lt;br /&gt;
    }&lt;br /&gt;
    for (int i = 0; i &amp;lt; linesToWrite.length; i++) {&lt;br /&gt;
      pw.println(linesToWrite[i]);&lt;br /&gt;
    }&lt;br /&gt;
    pw.flush();&lt;br /&gt;
    pw.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>