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 ...
随机推荐
- 2018最新版本Sublime Text3注册码(仅供测试交流使用)
-– BEGIN LICENSE -– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA ...
- MySQL之集合函数与分组查询
这是分组查询用到的语句,也包括了排序以及常用的集合函数
- 听翁恺老师mooc笔记(6)--指针运算
指针值加1就是将指针值加上sizeof(指针所指变量的类型) 1+1=2,那么指针加1是加上了1这个数字吗?试一下,在代码中定义了char数组,char也是整数,数组名是ac,ac中有10个元素,0- ...
- beta冲刺1-咸鱼
前言:这篇算是开始补之前的开端,毕竟beta阶段我们从前面开始就有在陆续做了. 今天的工作: 接收了新成员*1,然后几个人聚了一下,并且讨论了一下目前遇到的问题,以及目前需要处理的问题. 目前遇到的问 ...
- 课堂作业 泛型类-Bag
自定义泛型类Bag 一.具体代码: 代码连接 二.伪代码: 1.思路: 老师讲完后我的想法是要做出一个类似于List的Bag,首先它的本身是又数组构成的并且是可自动增加长度的,然后实现一些基本的操作, ...
- python实现K聚类算法
参考:<机器学习实战>- Machine Learning in Action 一. 基本思想 聚类是一种无监督的学习,它将相似的对象归到同一簇中.它有点像全自动分类.聚类方法几乎可以应 ...
- 冲刺NO.5
Alpha冲刺第五天 站立式会议 项目进展 今日项目完成内容主要包括了JS的学习,事务管理员模块与学生模块的完善与补充,并且开始编写信用信息管理模块和奖惩事务管理模块. 问题困难 前端部分的技术掌握的 ...
- TCP和UDP的最完整的区别
TCP UDP TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少: 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); ...
- 2017-2018-1 我爱学Java 第八周 作业
团队六七周作业 团队分工 UML图 工具选择 小编(金立清)有话说 参考资料 团队分工 返回目录 UML图 用例图 类图 活动图 状态图 返回目录 工具选择 ProcessOn - 免费在线作图,实时 ...
- nyoj 寻找最大数(二)
寻找最大数(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给你一个数字n(可能有前缀0). 要求从高位到低位,进行 进栈出栈 操作,是最后输出的结果最大. ...