PrintWriter

java.io
类 PrintWriter

java.lang.Object
  

java.io.Writer
      

java.io.PrintWriter
所有已实现的接口:
Closeable, Flushable, Appendable

public class PrintWriterextends Writer

向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。

与 PrintStream 类不同,如果启用了自动刷新,则只有在调用 printlnprintf 或 format 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。

此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用 checkError() 是否出现错误。

从以下版本开始:
JDK1.1

字段摘要
protected  Writer out 
          此 PrintWriter 的底层字符输出流。
从类 java.io.Writer 继承的字段
lock
构造方法摘要
PrintWriter(File file) 
          使用指定文件创建不具有自动行刷新的新 PrintWriter。
PrintWriter(File file, String csn) 
          创建具有指定文件和字符集且不带自动刷行新的新 PrintWriter。
PrintWriter(OutputStream out) 
          根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。
PrintWriter(OutputStream out, boolean autoFlush) 
          通过现有的 OutputStream 创建新的 PrintWriter。
PrintWriter(String fileName) 
          创建具有指定文件名称且不带自动行刷新的新 PrintWriter。
PrintWriter(String fileName, String csn) 
          创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out) 
          创建不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out, boolean autoFlush) 
          创建新 PrintWriter。
方法摘要
 PrintWriter append(char c) 
          将指定字符添加到此 writer。
 PrintWriter append(CharSequence csq) 
          将指定的字符序列添加到此 writer。
 PrintWriter append(CharSequence csq, int start, int end) 
          将指定字符序列的子序列添加到此 writer。
 boolean checkError() 
          如果流没有关闭,则刷新流且检查其错误状态。
protected  void clearError() 
          清除此流的错误状态。
 void close() 
          关闭该流并释放与之关联的所有系统资源。
 void flush() 
          刷新该流的缓冲。
 PrintWriter format(Locale l, String format, Object... args) 
          使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。
 PrintWriter format(String format, Object... args) 
          使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。
 void print(boolean b) 
          打印 boolean 值。
 void print(char c) 
          打印字符。
 void print(char[] s) 
          打印字符数组。
 void print(double d) 
          打印 double 精度浮点数。
 void print(float f) 
          打印一个浮点数。
 void print(int i) 
          打印整数。
 void print(long l) 
          打印 long 整数。
 void print(Object obj) 
          打印对象。
 void print(String s) 
          打印字符串。
 PrintWriter printf(Locale l, String format, Object... args) 
          使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。
 PrintWriter printf(String format, Object... args) 
          使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。
 void println() 
          通过写入行分隔符字符串终止当前行。
 void println(boolean x) 
          打印 boolean 值,然后终止该行。
 void println(char x) 
          打印字符,然后终止该行。
 void println(char[] x) 
          打印字符数组,然后终止该行。
 void println(double x) 
          打印双精度浮点数,然后终止该行。
 void println(float x) 
          打印浮点数,然后终止该行。
 void println(int x) 
          打印整数,然后终止该行。
 void println(long x) 
          打印 long 整数,然后终止该行。
 void println(Object x) 
          打印 Object,然后终止该行。
 void println(String x) 
          打印 String,然后终止该行。
protected  void setError() 
          指示已发生错误。
 void write(char[] buf) 
          写入字符数组。
 void write(char[] buf, int off, int len) 
          写入字符数组的某一部分。
 void write(int c) 
          写入单个字符。
 void write(String s) 
          写入字符串。
 void write(String s, int off, int len) 
          写入字符串的某一部分。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
字段详细信息

out

protected Writer out
此 PrintWriter 的底层字符输出流。

从以下版本开始:
1.2
构造方法详细信息

PrintWriter

public PrintWriter(Writer out)
创建不带自动行刷新的新 PrintWriter。

参数:
out - 字符输出流

PrintWriter

public PrintWriter(Writer out,
                   boolean autoFlush)
创建新 PrintWriter。

参数:
out - 字符输出流
autoFlush - boolean 变量;如果为 true,则 printlnprintf 或 format 方法将刷新输出缓冲区

PrintWriter

public PrintWriter(OutputStream out)
根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者使用默认字符编码将字符转换为字节。

参数:
out - 输出流
另请参见:
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)

PrintWriter

public PrintWriter(OutputStream out,
                   boolean autoFlush)
通过现有的 OutputStream 创建新的 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者使用默认字符编码将字符转换为字节。

参数:
out - 输出流
autoFlush - boolean 变量;如果为 true,则 printlnprintf 或 format 方法将刷新输出缓冲区
另请参见:
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)

PrintWriter

public PrintWriter(String fileName)
            throws FileNotFoundException
创建具有指定文件名称且不带自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者将使用此 Java 虚拟机实例的默认 charset 进行字符编码。

参数:
fileName - 用作此 writer 目标的文件名称。如果存在该文件,则将其大小截取为零;否则,创建一个新文件。将输出写入文件中,并对其进行缓冲处理。
抛出:
FileNotFoundException - 如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他一些错误
SecurityException - 如果存在安全管理器,并且 checkWrite(fileName) 拒绝对文件进行写入访问。
从以下版本开始:
1.5

PrintWriter

public PrintWriter(String fileName,
                   String csn)
            throws FileNotFoundException,
                   UnsupportedEncodingException
创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者将使用提供的字符集进行字符编码。

参数:
fileName - 用作此 writer 目标的文件名称。如果存在该文件,则将其大小截取为零;否则,创建一个新文件。将输出写入文件中,并对其进行缓冲处理。
csn - 受支持的字符集的名称
抛出:
FileNotFoundException - 如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他一些错误
SecurityException - 如果存在安全管理器,并且 checkWrite(fileName) 拒绝对文件进行写入访问。
UnsupportedEncodingException - 如果不支持指定字符集
从以下版本开始:
1.5

PrintWriter

public PrintWriter(File file)
            throws FileNotFoundException
使用指定文件创建不具有自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者将使用此 Java 虚拟机实例的默认 charset 进行字符编码。

参数:
file - 作为此 writer 的目标使用的文件。如果存在该文件,则将其大小截取为零;否则,创建一个新文件。将输出写入文件中,并对其进行缓冲处理。
抛出:
FileNotFoundException - 如果给定的文件对象不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他一些错误
SecurityException - 如果存在安全管理器,并且 checkWrite(file.getPath()) 拒绝对文件进行写入访问。
从以下版本开始:
1.5

PrintWriter

public PrintWriter(File file,
                   String csn)
            throws FileNotFoundException,
                   UnsupportedEncodingException
创建具有指定文件和字符集且不带自动刷行新的新 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者将使用提供的字符集进行字符编码。

参数:
file - 作为此 writer 的目标使用的文件。如果存在该文件,则将其大小截取为零;否则,创建一个新文件。将输出写入文件中,并对其进行缓冲处理。
csn - 受支持的字符集的名称
抛出:
FileNotFoundException - 如果给定的文件对象不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他一些错误
SecurityException - 如果存在安全管理器,并且 checkWrite(file.getPath()) 拒绝对文件进行写入访问。
UnsupportedEncodingException - 如果不支持指定字符集
从以下版本开始:
1.5
方法详细信息

flush

public void flush()
刷新该流的缓冲。

指定者:
接口 Flushable 中的 flush
指定者:
类 Writer 中的 flush
另请参见:
checkError()

close

public void close()
关闭该流并释放与之关联的所有系统资源。关闭以前关闭的流无效。

指定者:
接口 Closeable 中的 close
指定者:
类 Writer 中的 close
另请参见:
checkError()

checkError

public boolean checkError()
如果流没有关闭,则刷新流且检查其错误状态。

返回:
如果该打印流在底层输出流上或在格式转换过程中遇到错误,则返回 true

setError

protected void setError()
指示已发生错误。

在调用 clearError() 之前,此方法将导致 checkError() 的后续调用返回 true


clearError

protected void clearError()
清除此流的错误状态。

在另一个写入操作失败并调用 setError() 之前,此方法将导致 checkError() 的后续调用返回 false

从以下版本开始:
1.6

write

public void write(int c)
写入单个字符。

覆盖:
类 Writer 中的 write
参数:
c - 指定要写入的字符的 int。

write

public void write(char[] buf,
                  int off,
                  int len)
写入字符数组的某一部分。

指定者:
类 Writer 中的 write
参数:
buf - 字符数组
off - 以其处开始写入字符的偏移量
len - 要写入的字符数

write

public void write(char[] buf)
写入字符数组。此方法不能从 Writer 类继承,因为它必须取消 I/O 异常。

覆盖:
类 Writer 中的 write
参数:
buf - 要写入的字符数组

write

public void write(String s,
                  int off,
                  int len)
写入字符串的某一部分。

覆盖:
类 Writer 中的 write
参数:
s - 字符串
off - 以其处开始写入字符的偏移量
len - 要写入的字符数

write

public void write(String s)
写入字符串。此方法不能从 Writer 类继承,因为它必须取消 I/O 异常。

覆盖:
类 Writer 中的 write
参数:
s - 要写入的字符串

print

public void print(boolean b)
打印 boolean 值。按照平台的默认字符编码将 String.valueOf(boolean) 生成的字符串转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
b - 要打印的 boolean

print

public void print(char c)
打印字符。按照平台的默认字符编码将字符转换为一个或多个字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
c - 要打印的 char

print

public void print(int i)
打印整数。按照平台的默认字节编码将 String.valueOf(int) 生成的字符串转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
i - 要打印的 int
另请参见:
Integer.toString(int)

print

public void print(long l)
打印 long 整数。按照平台的默认字符编码将 String.valueOf(long) 生成的字符串转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
l - 要打印的 long
另请参见:
Long.toString(long)

print

public void print(float f)
打印一个浮点数。按照平台的默认字符编码将 String.valueOf(float) 生成的字符串转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
f - 要打印的 float
另请参见:
Float.toString(float)

print

public void print(double d)
打印 double 精度浮点数。按照平台的默认字符编码将 String.valueOf(double) 生成的字符串转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
d - 要打印的 double
另请参见:
Double.toString(double)

print

public void print(char[] s)
打印字符数组。按照平台的默认字符编码将字符转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
s - 要打印的字符数组
抛出:
NullPointerException - 如果 s 为 null

print

public void print(String s)
打印字符串。如果参数为 null,则打印字符串 "null"。否则,按照平台的默认字符编码将字符串的字符转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
s - 要打印的 String

print

public void print(Object obj)
打印对象。按照平台的默认字符串编码将 String.valueOf(Object) 方法生成的字符串转换为字节,并完全以 write(int) 方法的方式写入这些字节。

参数:
obj - 要打印的 Object
另请参见:
Object.toString()

println

public void println()
通过写入行分隔符字符串终止当前行。行分隔符字符串由系统属性 line.separator 定义,不一定是单个换行符 (‘\n‘)。


println

public void println(boolean x)
打印 boolean 值,然后终止该行。此方法的行为就像先调用 print(boolean) 然后调用 println() 一样。

参数:
x - 要打印的 boolean 值

println

public void println(char x)
打印字符,然后终止该行。此方法的行为就像先调用 print(char) 然后调用 println() 一样。

参数:
x - 要打印的 char 值

println

public void println(int x)
打印整数,然后终止该行。此方法的行为就像先调用 print(int) 然后调用 println() 一样。

参数:
x - 要打印的 int 值

println

public void println(long x)
打印 long 整数,然后终止该行。此方法的行为就像先调用 print(long) 然后调用 println() 一样。

参数:
x - 要打印的 long 值

println

public void println(float x)
打印浮点数,然后终止该行。此方法的行为就像先调用 print(float) 然后调用 println() 一样。

参数:
x - 要打印的 float 值

println

public void println(double x)
打印双精度浮点数,然后终止该行。此方法的行为就像先调用 print(double) 然后调用 println() 一样。

参数:
x - 要打印的 double 值

println

public void println(char[] x)
打印字符数组,然后终止该行。此方法的行为就像先调用 print(char[]) 然后调用 println() 一样。

参数:
x - 要打印的 char 值的数组

println

public void println(String x)
打印 String,然后终止该行。此方法的行为就像先调用 print(String) 然后调用 println() 一样。

参数:
x - 要打印的 String 值

println

public void println(Object x)
打印 Object,然后终止该行。此方法首先调用 String.valueOf(x) 以获取打印对象的字符串值,行为就像先调用 print(String) 然后调用 println() 一样。

参数:
x - 要打印的 Object

printf

public PrintWriter printf(String format,
                          Object... args)
使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。如果启用自动刷新,则调用此方法将刷新输出缓冲区。

调用此方法的 out.printf(format, args) 形式,行为与以下调用完全相同:

     out.format(format, args) 
参数:
format - 在格式字符串的语法中描述的格式字符串。
args - 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null 参数的行为依赖于转换。
返回:
此 writer
抛出:
IllegalFormatException - 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、对给定格式字符串而言不够充足的参数或其他非法条件。有关所有可能的格式错误的规范,请参阅 formatter 类规范的详细信息部分。
NullPointerException - 如果 format 为 null
从以下版本开始:
1.5

printf

public PrintWriter printf(Locale l,
                          String format,
                          Object... args)
使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。如果启用自动刷新,则调用此方法将刷新输出缓冲区。

调用此方法的 out.printf(l, format, args) 形式,行为与以下调用完全相同:

     out.format(l, format, args) 
参数:
l - 格式化过程中应用的 locale。如果 l 为 null,则不应用本地化。
format - 在格式字符串的语法中描述的格式字符串。
args - 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null 参数的行为依赖于转换。
返回:
此 writer
抛出:
IllegalFormatException - 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、对给定格式字符串而言不够充足的参数或其他非法条件。有关所有可能的格式错误的规范,请参阅 formatter 类规范的详细信息部分。
NullPointerException - 如果 format 为 null
从以下版本开始:
1.5

format

public PrintWriter format(String format,
                          Object... args)
使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。如果启用自动刷新,则调用此方法将刷新输出缓冲区。

始终使用的语言环境是由 Locale.getDefault() 返回的语言环境,不管以前在此对象上调用了其他什么样的格式化方法。

参数:
format - 在格式字符串的语法中描述的格式字符串。
args - 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null 参数的行为依赖于 conversion。
返回:
此 writer
抛出:
IllegalFormatException - 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、对给定格式字符串而言不够充足的参数或其他非法条件。有关所有可能的格式错误的规范,请参阅 formatter 类规范的详细信息部分。
NullPointerException - 如果 format 为 null
从以下版本开始:
1.5

format

public PrintWriter format(Locale l,
                          String format,
                          Object... args)
使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。如果启用自动刷新,则调用此方法将刷新输出缓冲区。

参数:
l - 格式化过程中应用的 locale。如果 l 为 null,则不应用本地化。
format - 在格式字符串的语法中描述的格式字符串。
args - 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null 参数的行为依赖于 conversion。
返回:
此 writer
抛出:
IllegalFormatException - 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、对给定格式字符串而言不够充足的参数或其他非法条件。有关所有可能的格式错误的规范,请参阅 formatter 类规范的详细信息部分。
NullPointerException - 如果 format 为 null
从以下版本开始:
1.5

append

public PrintWriter append(CharSequence csq)
将指定的字符序列添加到此 writer。

此方法调用 out.append(csq) 的行为与调用下列方法完全相同:

     out.write(csq.toString()) 

可能不添加整个序列,也可能添加,具体取决于字符序列 csq 的 toString 指定。例如,调用一个字符缓冲区的 toString 方法将返回一个子序列,其内容取决于缓冲区的位置和限制。

指定者:
接口 Appendable 中的 append
覆盖:
类 Writer 中的 append
参数:
csq - 要添加的字符串序列。如果 csq 为 null,则向此 writer 添加四个字符 "null"
返回:
此 writer
从以下版本开始:
1.5

append

public PrintWriter append(CharSequence csq,
                          int start,
                          int end)
将指定字符序列的子序列添加到此 writer。

当 csq 不为 null 时,调用该方法的 out.append(csq、 start、 end) 形式,行为与以下调用完全相同:

     out.write(csq.subSequence(start, end).toString()) 
指定者:
接口 Appendable 中的 append
覆盖:
类 Writer 中的 append
参数:
csq - 要添加子序列的字符序列。如果 csq 为 null,则添加四个字符 "null",就好像 csq 包含这些字符一样。
start - 子序列中第一个字符的索引
end - 子序列中最后一个字符后面的字符的索引
返回:
此 writer
抛出:
IndexOutOfBoundsException - 如果 start 或 end 为负,而 start 大于 end 或者 end 大于 csq.length()
从以下版本开始:
1.5

append

public PrintWriter append(char c)
将指定字符添加到此 writer。

调用此方法的 out.append(c) 形式,行为与以下调用完全相同:

     out.write(c) 
指定者:
接口 Appendable 中的 append
覆盖:
类 Writer 中的 append
参数:
c - 要添加的 16 位字符
返回:
此 writer
从以下版本开始:
1.5

PrintWriter类似用法

时间: 2024-10-24 09:49:01

PrintWriter的相关文章

打印流: PrintStream 和 PrintWriter

/* * 1.打印流: PrintStream 和 PrintWriter 两个. * * 1) PrintStream 字节的打印流, PrintWriter 字符的打印流. * * 2) 功能: 打印流均属于输出流.因此,用来以模拟打印机的方式来输出数据. * * 3) 它的常用方法: print() 和 println(); * * 4) 打印流具有自动刷新功能.即:自动调用 flush()方法. * * 5) 打印流还具有自动实现字符与字节的转换功能. * * 6) 以打印流方式实现数据

PrintWriter的println问题

今天发现一个奇怪的问题,同样的代码web server部署在windows自测机器上跟linux服务器上, 在通信上出现了不一样的换行结束符. Debug发现通过PrintWriter的println方法,在linux上结束符是'\n',而windows上是'\r\n', 进一步查资料是line.separator的不同导致, 所以,方案1:用PrintWriter的write方法 + 需要的结束符 方案2:更换line.separator值

PrintWriter与Scanner

---恢复内容开始--- PrintWriter类 构造函数的第二个参数可省略 PrintWriter(File file, String csn) // 每次创建新文件,不能追加  csn 编码名 charSet name PrintWriter(OutputStream out, boolean autoFlush) OutputStream outStream = new FileOutputStream("E:/test.txt", true); //追加模式,无则创建,有则追

Android socket 使用PrintWriter和BufferedReader发送和接收出现乱码问题解决

项目中用到了Android和C++的通信,选择了用socket 发送字符的方式,一开始使用的代码是: socket=new Socket(); InetSocketAddress isa = new InetSocketAddress(IP_STR, port); socket.connect(isa, 100); PrintWriter out=new PrintWriter(socket.getOutputStream(),true); BufferedReader recvBuf=new

java 打印流PrintWriter基本操作

import java.io.*; public class PrintDemo { public static void main(String[] args) { PrintWriter writer=null; writer=new PrintWriter(System.out); String str=new String("Hello cjc!!!"); writer.print(str); writer.close(); try { writer=new PrintWrit

Java核心类库-IO-打印流(PrintStream/PrintWriter)

打印流,打印数据的,打印流只能是输出流: PrintStream:字节打印流. PrintWriter:字符打印流. 对于PrintWriter来说,当启用字段刷新之后 PrintWriter ps = new PrintWriter(new FileOutputStream(new File("out")),true); 调用println或者printf或者format方法,便会立马刷新操作 如果没有开启自动刷新,则需要手动刷新或者当缓冲区满的时候,再自动刷新. 使用打印流作为输出

学习PrintWriter类

转载CSDN zsw2zkl 的分享 Java.io包 1)首先先知道它的八种构造方法,但怎么记住这八种呢?我们都知道PrintWriter是一种过滤流,也叫处理流.也就是能对字节流和字符流进行处理,所以它会有: PrintWriter(OutputStream out)  根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter. PrintWriter(Writer out)  创建不带自动行刷新的新 PrintWriter. 这两种构造方法.由于PrintWri

打印流-PrintStream和PrintWriter

IO包中的其他功能流对象功能流对象特点:解决问题的特有方法. 打印流--必须是输出流(两个都是)PrintStream(字节流) PrintWriter(字符流)特点:打印.不抛异常打印的目的:File对象,字符串路径,字节输出流. 解决的问题:方便的打印各种数据的表示形式. 它的打印方法可以保证数值的表现形式不变.写的是什么样子,目的地就是什么样子 PrintWriter:一样具备打印功能. 目的:File对象,字符串路径,字节输出流,字符输出流. PrintStream实例: import

流之阅读器和书写器(PrintWriter)

PrintWriter类用于取代java 1.0的PrintStream类,它能正确地处理多字节字符集和国际化文本.Sun最初计划废弃PrintStream而支持PrintWriter,但当它意识到这样做会使太多现在的代码失效(尤其是依赖于System.out的代码),就放弃了这种想法.尽管如此,新编写的代码还是应当使用PrintWriter而不是PrintStream. 除了构造函数,PrintWriter类也有与PrintStream几乎相同的方法集.包括: public PrintWrit

JAVA printWriter中write()和println()区别

PrintWriter 的Write()方法和println()方法有何细微的区别? 最近学习JAVA网络编程,在服务器端和客户端产生一个Socket 后, 两边各自用getIputStream()和getOutputStream()方法,构造各自的输入输出流. 其中服务器端的Socket ss BufferedReader is=new BufferedReader(new InputStreamReader(ss.getInputStream()) ); PrintWriter  os=ne