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 ...
随机推荐
- 多目标跟踪(MOT)论文随笔-SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC (Deep SORT)
网上已有很多关于MOT的文章,此系列仅为个人阅读随笔,便于初学者的共同成长.若希望详细了解,建议阅读原文. 本文是tracking by detection 方法进行多目标跟踪的文章,在SORT的基础 ...
- 测试与发布(Beta版本)
评分基准: 按时交 - 有分(测试报告-10分,发布说明-10分,展示博客-10分),检查的项目包括后文的两个方面 测试报告(基本完成5分,根据完成质量加分,原则上不超过满分10分) 发布说明(基本完 ...
- 1013团队Beta冲刺day3
项目进展 李明皇 今天解决的进度 完善了程序的运行逻辑(消息提示框等) 明天安排 前后端联动调试 林翔 今天解决的进度 向微信官方申请登录验证session以维护登录态 明天安排 继续完成维护登录态 ...
- 201621123031 《Java程序设计》第12周学习总结
作业12-流与文件 1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 在Java中的java.io包中定义了许多类专门负责处理各种方式的输入与输出.其中,所有输入 ...
- 关于安装win7系统时出现0x0000007b电脑蓝屏代码的问题
问题解析: 0X0000007B 这个错误网上都说是sata硬盘的什么引导模式的原因引起. 在网上查找了很久,大概引起错误的原因就是:sata和ide两种模式不同,前者可以装win7系统,后者是xp系 ...
- bzoj千题计划288:bzoj1876: [SDOI2009]SuperGCD
http://www.lydsy.com/JudgeOnline/problem.php?id=1876 高精压位GCD 对于 GCD(a, b) a>b 若 a 为奇数,b 为偶数,GCD ...
- JavaScript 实现二叉树
JavaScript 实现二叉树: // JavaScript 实现二叉树 function BinaryTree () { var Node = function (key) { this.key ...
- 云计算(2)it 是什么
2015年,全世界在it上面的花费达到3亿8千亿美金之多. 云数据中心:核心基础架构,云计算的物理载体,提供数据处理.存储和高性能计算支撑,包括服务器.存储.冷却.机房空间和能耗管理等. 超大规模的云 ...
- Easyui Datagrid 修改显示行号列宽度
EasyUI中Datagrid的第一列显示行号,可是如果数据量大的的时候,显示行号的那一列数据会显示不完全的. 可以通过修改Datagrid的样式来解决这个问题,在样式中加入下面这个样式,就可以自己修 ...
- 微信小程序配置WSS协议
配置的是nginx转发,前提是你已经安装了nginx的软件并已经正常打开网页,安装好SSL协议,能打开https网页 下面是配置: 需要的话可以根据需求修改 server { listen 80; s ...