Java IO(五)==>>重点
打印流:PrintStream与PrintWriter
PrintStream
该类的定义如下:
public class PrintStream extends FilterOutputStream implemtns Appendable,Closeable
可以发现,它是OutputStream的一个子类
构造方法如下:
PrintStream(OutputStream out)
它可以根据实例化的类对象不同,向不同的地方打印,并且在打印流中,提供了更加丰富的打印方法。
实例:
package com.fuwh.stream; import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream; public class PrintStreamTest01 {
public static void main(String[] args) throws IOException {
//向文件中打印
PrintStream ps=new PrintStream(new FileOutputStream(new File("ps.txt")));
String name="貂蝉";
int age=18;
float shengao=1.41f;
ps.print(name);
ps.print(age);
ps.print(shengao);
ps.close();
}
}

这个时候,不知道大家有没有发现,我们一直在用的System.out.println()有啥特点呢,没错,里面也使用到了Println()方法。
查看System类的定义可以发现,里面存在三个静态字段:
static PrintStream err:“标准”错误输出流
static InputStream in:“标准”输入流
static PrintStream out:“标准” 输出流
他们都有固定的输入输出端。
err实例:
package com.fuwh.system;
import java.io.PrintStream;
public class ErrTest01 {
public static void main(String[] args) {
PrintStream err=System.err;
err.print("这是错误信息");
}
}

可以看到,用err输出的信息是红色的。
out实例:
package com.fuwh.system;
import java.io.PrintStream;
public class OutTest01 {
public static void main(String[] args) {
PrintStream out=System.out;
out.print("这是输出信息");
}
}

这个输出信息就是普通的信息。
in实例:
package com.fuwh.system;
import java.io.InputStream;
public class InTest01 {
public static void main(String[] args) throws Exception {
InputStream is=System.in;
System.out.println("请输入数据:");
byte[] b=new byte[1024];
is.read(b);
System.out.println("输入的内容是:"+new String(b,0,b.length));
is.close();
}
}

在System类中,还存在以下三个方法,可以实现对err,out,in的输入输出重定向
·static void setIn(InputStream in)
·static void setOut(PrintStream out)
·static void setErr(PrintStream err)
实例--实现对out的输出重定向到文件中:
package com.fuwh.system; import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream; public class OutTest02 {
public static void main(String[] args) throws Exception{ //调用set方法对out的输出重定向到文件中
System.setOut(new PrintStream(new FileOutputStream(new File("out.txt"))));
System.out.print("这是输出信息");
}
}

缓冲区读取: BufferedReader/BufferedWriter(重点)
类的定义如下:
public class BufferedReader extends Reader
public class BufferedWriter extends Writer
构造方法:
BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符输入流
BufferedReader(Reader in,int size):穿件一个使用指定大小输入缓冲区的缓冲字符流
从字符输入流中读取文件,缓冲各个字符,从何实现字符,数组,和行的高效读取。
实例1:
package com.fuwh.buffer; import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter; public class BufferedWriterTest01 {
public static void main(String[] args) throws Exception {
PrintWriter print=
new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(
new File("buffer.txt")
)
)
)
);
print.write("这个定义好长啊!");
print.close();
}
}

实例2:
package com.fuwh.buffer; import java.io.BufferedReader;
import java.io.InputStreamReader; public class BufferedReaderTest01 {
public static void main(String[] args) throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入内容:");
String str=br.readLine();
System.out.println("您输入的内容是:"+str);
br.close();
}
}

Java IO(五)==>>重点的更多相关文章
- java io 模型重点讲述
java io 模型重点讲述 bio(阻塞) 同步IO 接受请求与处理请求用同一条线程 aio 应用程序线程会向系统注册一个socket请求,以及一个回调方法,继续执行下去.socket接受区的数据监 ...
- java IO(五):字节流、字符流的选择规律
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 系统学习 Java IO (五)----使用 SequenceInputStream 组合多个流
目录:系统学习 Java IO---- 目录,概览 SequenceInputStream 可以将两个或多个其他 InputStream 合并为一个. 首先,SequenceInputStream 将 ...
- 系统学习 Java IO ---- 目录,概览
Java IO 类的系统教程,原创.主要参考自英文教程 Java IO Tutorial 和 Java Doc. http://tutorials.jenkov.com/java-io/index.h ...
- Java IO学习笔记五:BIO到NIO
作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一 ...
- Java IO(十五)FilterReader 和 FilterWriter、FilterReader 子类 PushBackReader
Java IO(十五)FilterReader 和 FilterWriter.FilterReader 子类PushBackReader 一.介绍 FilterReader 和 FilterWrite ...
- Java IO(五)字节流 FileInputStream 和 FileOutputStream
Java IO(五)字节流 FileInputStream 和 FileOutputStream 一.介绍 字节流 InputStream 和 OutputStream 是字节输入流和字节输出流的超类 ...
- JDK源码阅读(五)java.io.Serializable接口
package java.io; public interface Serializable { } (1)实现Serializable接口的类,将会被提示提供一个 serialVersionUID ...
- Java IO详解(五)------包装流
File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...
随机推荐
- python IDLE中反斜杠显示为人民币符号¥的解决办法
改换英文字体即可
- 2017-2018-1 Java演绎法 第二周 作业
团队任务:讨论Android上的游戏软件 参考现代软件工程 第一章 [概论]练习与讨论: 软件有很多种,也有各种分类办法,本次团队任务是讨论选取Android上的一个游戏软件,考虑到每位组员接触的游戏 ...
- C语言---字符数组
一.PTA实验作业 题目1:7-2 统计一行文本的单词个数 1. 本题PTA提交列表 2. 设计思路 定义循环变量i,j定义不为空格的字符数count,定义单词数number,i,j,count,nu ...
- 学号:201621123032 《Java程序设计》第10周学习总结
1:本周学习总结 1.1.:以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2:书面作业 2.1.:常用异常--结合题集题目7-1回答 2.1.1:自己以前编写的代码中经常出现什么异常.需要捕 ...
- Django 模型层
基本操作 1.meta类属性汇总 属性名 用法 举例代码 abstract 如果设置abstract=True则这个模式是一个抽象基类 db_table 定义model在数据库中的表名称,如果不定 ...
- Node入门教程(2)第一章:NodeJS 概述
Node 概述 什么是 Node Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- java语法基础(总结)
1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...
- pythoncharm 中解决启动server时出现 “django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are not configured”的错误
背景介绍 最近,尝试着用pythoncharm 这个All-star IDE来搞一搞Django,于是乎,下载专业版,PJ等等一系列操作之后,终于得偿所愿.可以开工了. 错误 在园子里找了一篇初学者的 ...
- LAMP 搭建
p { margin-bottom: 0.25cm; line-height: 120% } LAMP 搭建 承 Ubuntu 17.10.1安装, 定制. 参考 电子工业出版社, Ubuntu完美应 ...
- Web Api 返回图片流
public class TestController : ApiController { public HttpResponseMessage GetImg() { //获取文件的绝对路径 stri ...