黑马程序员Java教程:PrintWriter-字符打印流

合集下载

printwriter用法

printwriter用法

printwriter用法PrintWriter是一种专门用来写入字符文件或网络输出流的流对象。

它继承自java.io.Writer类,其实它也有助于方便的写入UTF-8文件或流且占用资源更少的事实上,PrintWriter也可以接受其它类型的数据源,如文件的路径字符串、文件或者一个网络流等。

PrintWriter常用的构造函数有两个:1. PrintWriter(File file):根据文件名创建PrintWriter ,该构造函数可以使用一个字符的流对象( OutputStreamWriter)来写入一个字节的流对象( FileOutputStream)。

2. PrintWriter(Writer out):使用该构造函数时,可以将其他类型的Writer对象传入,使其输出到PrintWriter中,并在PrintWriter上强转成Writer类型,如OutputStreamWriter、FileWriter。

PrintWriter最主要的方法就是常用的print( )和println( )方法,它们是用于写入标准输出流和字符流。

print( )方法用于将指定的字符串写入流中,而println( )方法会先将指定的字符串写入流中,再自动换行。

这两个方法可以有很多形式的参数,可以是String、基本数据类型,以及基本数据类型的数组等,从而可以写出很多不同类型的数据到文件中。

PrintWriter还可以调用flush( )方法和close( )方法,可以用来清空缓冲区里仍然留存的字符,以及最后关闭输出流,使其释放占用的资源减少内存占用。

总之,PrintWriter类可以方便地将文本数据写入文件,或者将文件的内容输出到文件或者网络流中,极大地提高了编程的效率,是Java编程中非常常用的文件输出流类。

黑马Java-IO知识测试附答案

黑马Java-IO知识测试附答案

IO 部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下列叙述中,正确的是 ( )A. Reader是一个读取文本文件的接口B. Reader是读取二进制数据文件的抽象类C. Reader是一个读取文本文件的抽象类D. Reader是读取二进制数据文件的一般类2.下面关于IO流的说法正确的是( )A. IO流可以分为字节流和字符流B. 和是专门用于读取和写入文本文件的C. 顶层类有InputStream和OutputStreamD. 顶层类有Reader和Writer,他们都是接口//抽象类3.类描述正确的是( )A. 字节输入流B. 字符输入流//没什么说的,记住吧C. 打印流D. 序列化流4.下列关键字能和try一起使用的有( )A. finalB. finalizeC. finallyD. catch5.具有readLine()方法的类是( )A.B. InputStreamReaderC.D. BufferedReader // readLine()方法是缓冲流BufferedReader的特有方法6.关于newLine()方法描述错误的是( )A. newLine()方法写入换行B. newLine()方法会根据不同操作系统自动选择使用相应的换行符C. newLine()方法是类的方法D. newLine()方法是BufferedWriter类的方法// 这个也是特有方法.7.实现下列哪个接口,可以启用序列化功能( )A. Runnable接口B. Comparable接口C. Serializable接口// 这个记住吧D. Comparator接口8.以下关于java异常说法不正确的是()。

[Java基础教程_兄弟连马剑威]_105_IO之打印流

[Java基础教程_兄弟连马剑威]_105_IO之打印流

2、PrintStream
• • • • public class PrintStream extends FilterOutputStream implements Appendable, Closeable PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式 。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外 ,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入 byte 数组之后自动 调用 flush 方法,可调用其中一个 println 方法,或写入一个换行符或字节 ('\n')。
3、PrintWriter
• • • public class PrintWriter extends Writer 向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方 法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字 节流进行写入。
谢谢TLeabharlann anksIO之打印流第 105 讲
马剑威
课程大纲
1、打印流概述 2、PrintStream 3、PrintWriter
1、打印流概述
• • • • 打印流的主要功能是用于输出,在整个IO包中打印流分为两种类型: · 字节打印流:PrintStream · 字符打印流:PrintWriter 打印流可以很方便的进行输出

传智播客黑马程序员javaIO流重点总结(必读)

传智播客黑马程序员javaIO流重点总结(必读)

IO流总结异常父类是Throwable,处理异常的两种方案,一种try --catch 另外一种抛出熟练使用Try---catch---finally,注意:能和try一起使用的只有catch和finally关键字Try块里面存放的是有可能发生异常的代码,通常和catch块一起使用,catch块用于处理try块中抛出的异常,finally块不是必须的,通常将释放资源(例如IO流的close方法)的代码放到finally块里面注意:finally和Final还有Finalize的区别File类注意:File类封装的路径,而不一定是一个具体的文件,File类不能用于读写文件,File类只能用来处理和文件相关的操作构造方法* File(String pathname):根据一个路径得到File对象* File(String parent, String child):根据一个目录和一个子文件/目录得到File对象* File(File parent, String child):根据一个父File目录和一个子文件/目录得到File对象创建功能* public boolean mkdir():创建文件夹如果存在这样的文件夹,就不创建了* public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来注意:mkdir只能创建单级目录,mkdirs用于创建多级目录判断功能,* public boolean isDirectory():判断是否是目录* public boolean isFile():判断是否是文件* public boolean exists():判断文件是否存在注意:判断功能返回的都是布尔类型的获取功能* public String getName():获取名称* public long length():获取长度。

字节数* public File[] listFiles():获取指定目录下的所有文件或者文件夹对象,返回的是File数组* public File[] listFiles(FilenameFilter filter):注意:此方法需要传入筛选文件名的接口FileNameFilter,用于过滤文件概念* Input Output流用来处理设备之间的数据传输,Java中输入输出功能是通过流来实现,把数据写入文件需要创建流对象* Java对数据的操作是通过流的方式* Java用于操作流的类都在IO包中* 流按流向分为两种:输入流,输出流。

Java学习教程031607_打印流

Java学习教程031607_打印流

6
public void print(数据类型 变量)
普通 此方法被重载很多次,输出任意数据
7
public void println(数据类型 变量)
普通 此方法被重载很多次,输出任意数据后换行
范例:使用PrintWriter实现文件内容输出
package cn.mldn.demo;
import java.io.File;
构造 通过一个File对象实例化PrintWriter类
2
public PrintWriter(OutputStream out)
构造 接收OutputStream对象,实例化PrintWriter类
3
public PrintWriter​(Writer out)
构造 接收Writer对象,实例化PrintWriter类
import java.io.FileOutputStream;
import java.io.PrintWriter;
public class JavaIODemo {
public static void main(String[] args) throws Exception {
File file = new File("d:" + File.separator + "mldn.txt"); // 定义操作文件
String name = "MLDN"; // 姓名
int age = 15;Fra bibliotek// 年龄
double salary = 8823.6323113;// 工资
pu.printf("姓名:%s、年龄:%d、收入:%9.2f", name, age, salary);// 格式化输出

PrintWriter的用法简介

PrintWriter的用法简介

PrintWriter的⽤法简介 1 import java.io.FileWriter;2import java.io.IOException;3import java.io.PrintWriter;45/*6 * 打印流:7 * PrintStream8 * PrintWriter9 * 可以⾃动换⾏:println()10 * 不能输出字节,但可以输出其他的任意类型11 * 通过某些配置可以⾃动刷新(只有在println,print,format才可以使⽤)12 * 是包装流,不具备读写功能13 * 可以把字节转换成字符输出14 *15 * 注意:只能输⼊不能输出16*/17public class PrintWriterDemo {1819public static void main(String[] args) throws IOException {20//创建打印流21 PrintWriter print = new PrintWriter("b.txt");2223//输出数据24 print.write("hello");25 print.write("world");26 print.write("!");2728//使⽤打印流特有⽅法输出println()29//与平台⽆关30 print.println("hello");31 print.println("world");32 print.println("!");3334//创建⼀个新的对象,此对对象具有⾃动刷新的功能,即在释放资源之前就写⼊数据35 PrintWriter out = new PrintWriter(new FileWriter("c.txt"), true);3637//输出数据38 out.println("hello");39 out.println("world");40 out.println("!");4142//释放资源43 print.close();44 out.close();4546 }47 }应⽤实例:1import java.io.BufferedReader;2import java.io.FileReader;3import java.io.FileWriter;4import java.io.IOException;5import java.io.PrintWriter;67/*8 * 使⽤PrintWriter复制⽂本⽂件9*/10public class PrintWriterDemo2 {1112public static void main(String[] args) throws IOException {13//创建数据源对象14 FileReader is = new FileReader("b.txt");15 BufferedReader br = new BufferedReader(is);1617//创建⽬标路径对象18 PrintWriter os = new PrintWriter(new FileWriter("d.txt"), true); 1920//复制⽂件21 String line; //交换数的中介22while ((line = br.readLine()) != null) {23 os.println(line);24 }2526//释放资源27 is.close();28 os.close();29 }30 }。

黑马程序员java培训就业班笔记:day23(IO其他类)总结

黑马程序员java培训就业班笔记:day23(IO其他类)总结

Day23总结:1、打印流:就是输出流,可以直接操作输入流和文件printStream:字节流特点:1、构造函数接收File对象、字符路径、字符输出流、以为着打印的目的可以是很多。

2、该对象具有特有的方法,print println可以打印任何数据类型的数据。

3、特有的printf方法可以保持任意类型的数据表现形式的原样性,将数据输出到目的地,对于OutputStream父类中的write是将数据的最低字节写出去、API:为其他的输出流添加了功能,使他们能够方法便的打印各种数据值表示形式,它还提供了其他两项功能。

与其他输出流不同,printStream永远不会抛出IOException异常,而是异常情况仅设置可通过checkError方法测试的内部标识,另外,为了自动刷新,可以创建一个printStream,这以为着可在写入byte数组之后自动调用flush方法,可吊桶其中一个println方法,或者写入一个换行符或者字节(\r\n),printStream打印的所有字符都使用平台默认字符编码转换为字节,在需要写入字符而不是写入字节的情况下,应该使用printWriter 类。

注意:能写一个整数、还能打印一个整数为什么?Write(97);a0000-0000 0000-0000 0000-0000 0110-0001 97将最后一个八位写入到硬盘,也就是最后一个字节0110-0001记事本把这个二进制解析了,然后查表返回a;Print(97);你看到是什么?目的里面就是什么?97原理:先把97--->"97"--->"97".getBytes()(2个字节)printWriter字符流:使用频繁,因为需要将数据从服务端打印到客户端特点:1、当操作的数据是字符时,可以选择printWriter比printStream更方便。

2、它的构造函数可以接收File对象,字符串路径、字节输出流、字符流。

Java学习PrintWriter打印输出—用于快速输出字符到文件

Java学习PrintWriter打印输出—用于快速输出字符到文件

Java学习PrintWriter打印输出—⽤于快速输出字符到⽂件前⾔ ⼀般情况下,我们输出⼀些字符串到⽂档中需要使⽤FileWriter与BufferedWriter配合。

但是使⽤这⽅式效率并不⾼,在有⼤量⽇志或者字符串需要输出到⽂档中的情况下更推荐使⽤PrintWriter简单的demoprivate void write(){File file = new File(getExternalCacheDir().getPath(), "demo.txt");try {PrintWriter printWriter = new PrintWriter(file);//PrintWriter会⾃动判断⽂件是否存在,如果不存在会⾃动创建⽬录与⽂件printWriter.print("写⼊内容1");//print⽅法不会调⽤flushprintWriter.println("写⼊内容2");//使⽤println⽅法写⼊内容会⾃动在底层调⽤flush⽅法,println会影响些许性能,因为时刻将字符串输出到⽂件中,但是有及时性 } catch (FileNotFoundException e) {e.printStackTrace();}}注意!这个demo,并不会⾃动在⽂件的后续追加内容,所以你会看到⽂档只有⼀⼩部分内容。

在输出⽂档的尾部追加写⼊内容的demoprivate void write(){File file = new File(getExternalCacheDir().getPath(), "demo.txt");FileWriter fileWriter = null;PrintWriter printWriter = null;try {fileWriter = new FileWriter(file, true);//这⾥设置的true就是设置在⽂档后⾯追加内容printWriter = new PrintWriter(fileWriter, true);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally {if (printWriter != null){printWriter.close();printWriter = null;}if (fileWriter != null){try {fileWriter.close();fileWriter = null;} catch (IOException e) {e.printStackTrace();}}}}end。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PrintWriter:字符打印流
构造函数参数:
1. 字符串路径
2. File对象
3. 字节输出流
4. 字符输出流
示例2:
1.import java.io.BufferedReader;
2.import java.io.InputStreamReader;
3.import java.io.PrintWriter;
4.import java.io.IOException;
5.
6.public class PrintWriterDemo{
7. public static void main(String[] args) throws IOException {
8. BufferedReader bufr = new BufferedReader(new
InputStreamReader(System.in));
9. PrintWriter out = new PrintWriter(System.out);
10.
11. String line = null;
12. while((line = bufr.readLine()) != null){
13. if("over" .equals(line))
14. break;
15. out.println(line.toUpperCase());
16. out.flush();
17. }
18.
19. out.close();
20. bufr.close();
21. }
22.}
23.
运行结果:
示例3:
1.import java.io.BufferedReader;
2.import java.io.FileWriter;
3.import java.io.InputStreamReader;
4.import java.io.PrintWriter;
5.import java.io.IOException;
6.
7.//写入到out.txt文件中
8.public class PrintWriterDemo{
9. public static void main(String[] args) throws IOException {
10. BufferedReader bufr = new BufferedReader(new
InputStreamReader(System.in));
11. //PrintWriter构造函数的第二个参数设置为true,表示自动刷新
12. PrintWriter out = new PrintWriter(new
FileWriter("out.txt" ),true);
13.
14. String line = null;
15. while((line = bufr.readLine()) != null){
16. if("over" .equals(line))
17. break;
18. out.println(line.toUpperCase());
19. }
20.
21. out.close();
22. bufr.close();
23. }
24.}
25.
运行结果:。

相关文档
最新文档