当前位置:首页 » 编程语言 » java的printwriter

java的printwriter

发布时间: 2022-05-21 11:43:07

java中PrintWriter的write()方法的使用,为什么这里两语句的位置换了一下,打印结果就不一样了

println(String str)是先调用print(String str) 再调println()(这个是无参的),
println()会调用newLine()方法,
newLine()方法判断autoFlush(声明PrintWriter对象第二个参数),true的话会执行flush()方法,
write()则不执行flush()方法,
所以println放在后面两个都有(write,print,println,flush),放前面后面的没有(print,println,slush,write)
如果autoflush是false,两次都没有输出了

② java PrintWriter 和 FileWriter的区别

FileReader 和FileWriter都是继承父类的方法。他们本身的类中没有重写父类的任何方法。实际上就是等价于他们的父类outputStreamWriter,inputSteamReader
至于它们存在的意义只是为了方便理解,一看就知道是用来写入字符文件的类!!!
FileWriter 很明显是针对文件的封装
PrintWriter 则更普遍一点
而在写文件时
我认为
PrintWriter out = new PrintWriter(
new BufferedWriter(
new FileWriter(filename)))
比较好点
PrintWriter 提供print系方法
BufferedWriter 提供缓冲,用以加速
FileWriter 用于写文件
FileWriter类/FileReader类:
用于对字符文件的读写的便捷的结点流类,
使用时最好用BufferedReader/BufferedWriter对其进行包装。

PrintStream类(如System.out):
格式化打印输出字节数据的流,该类提供的print[ln]()方法可格式化打印输出各种类型的数据(包括类对象),
它使用平台的默认字符编码将所有字符都转换为字节打印输出(写入)。

在需要写入字符而不是写入字节的情况下,应该使用PrintWriter类。

③ java PrintWriter 的意思

printwriter类:
java.io
类 PrintWriter
java.lang.Object
java.io.Writer
java.io.PrintWriter
所有已实现的接口:
Closeable, Flushable, Appendable
--------------------------------------------------------------------------------
public class PrintWriter extends Writer向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
与 PrintStream 类不同,如果启用了自动刷新,则只有在调用 println、printf 或 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,则 println、printf 或 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,则 println、printf 或 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

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/teedry/archive/2009/06/18/4280061.aspx

④ java中,PrintWriter类的flush()是做什么用的

flush,字面上是冲刷的意思。flush()方法用于强制将内存缓冲区的数据流刷入文件。进行流的操作时,数据首先会被读到内存中,然后再写到文件中。在进行流的操作时,我们都知道最后需要调用out.close()这个方法,如果最后调用了.close()方法的话,是不需要在这之前调用.flush()的,因为.close()方法内部会自动调用.flush()。

⑤ java PrintWriter

printwriter()的作用是为了定义流输出的位置,并且此流可以正常的存储中文,减少乱码输出。举例:
printwriter
out
=
new
printwriter(new
outputstreamwriter(new
fileoutputstream("d:/text.txt"),
"utf-8"));//定义输出流位置,并且文件必须存在
out.println("中文测试");//写入内容
out.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

⑥ 关于JAVA中的PrintWriter方法

PrintWriter
public
PrintWriter(OutputStream
out,

boolean
autoFlush)

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

参数:

out
-
输出流

autoFlush
-
boolean
变量;如果为
true,则
println、printf

format
方法将刷新输出缓冲区

⑦ 关于Java中的PrintStream与PrintWriter

你理解错了哦!

PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入 byte 数组之后自动调用 flush 方法,可调用其中一个 println 方法,或写入一个换行符或字节 ('\n')。

PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter 类。
向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。

⑧ Java 关于PrintWriter,求高手解答

1.所谓的格式化表现形式,指的是PrintWriter 中format(String format, Object... args)和format(Locale l, String format, Object... args) 的字符串格式化方法。详情请参见String.format()的用法。例如,可以将一个double型数据以保留两位小数,前面用0补齐10位这样的格式输出。

如:System.out.println(String.format("%1$,09d", -3123));输出为-0003,123。

2.所谓原始字节,就是byte值,电脑中的数据都是以字节(byte)存在的,一个byte有8位,展现出来就是 0x000000ff 类似这个样子。这个样子是没法直接向PrintWriter 输入的,只能以inputStream的形式输入。

3.这个问题就得和你普及下字节流和字符流的概念了,字节流刚才和你说过了,就是由许多的byte组成的流,它本身不包含任何文字编码。但是要在屏幕上打印出来,就必须编码才行了。比如我们常用的UTF-8编码,还有GBK编码和GB2312编码。编码错误,可是会出乱码的。

4.所谓的自动刷新(flush),就是PrintStream 类的流输入过程中,如果遇到换行符(/n)就会自动打印一行。或者自动向某个输出流输出数据。

5.平台自有的分隔符会根据操作系统和环境的改变而改变,你可以通过System.getProperty("line.separator")方法查询。在format中的替代符号是%n

⑨ 关于Java中PrintWriter方法

PrintWriter
public
PrintWriter(OutputStream
out,
boolean
autoFlush)
通过现有的
OutputStream
创建新的
PrintWriter。此便捷构造方法创建必要的中间
OutputStreamWriter,后者使用默认字符编码将字符转换为字节。
参数:
out
-
输出流
autoFlush
-
boolean
变量;如果为
true,则
println、printf

format
方法将刷新输出缓冲区

⑩ java中printWriter()的作用

基于字符的输出流,可以输出字符或字符串整型等数据。输出的目标可以是磁盘文件、其他输出流。

热点内容
怎么改密码锁 发布:2025-02-13 23:47:39 浏览:852
androidbitmap获取大小 发布:2025-02-13 23:47:38 浏览:559
怎么把升级鸿蒙系统变回安卓 发布:2025-02-13 23:36:07 浏览:595
偶校验c语言 发布:2025-02-13 23:22:52 浏览:937
芒果如何提取离线缓存视频 发布:2025-02-13 23:16:12 浏览:793
王者荣耀微信区安卓哪里分低 发布:2025-02-13 23:14:10 浏览:658
安装linuxvmwaretools 发布:2025-02-13 22:56:02 浏览:8
浪潮服务器如何引导系统安装光盘 发布:2025-02-13 22:56:02 浏览:112
java多线程的同步 发布:2025-02-13 22:46:15 浏览:920
软件使用权限里存储关闭还是打开 发布:2025-02-13 22:46:11 浏览:382