Java中I/O流之Print流
Java 中的 print 流:
print 流用于做输出将会非常的方便,并且具有以下特点:
1. printWriter、printStream 都属于输出流,分别针对字符,字节.
2. printWriter、printStream 提供了重载的 print 与 println 方法.
3. print 与 println 能够用于多种数据类型的输出.
4. printWriter、printStream 的输出操作不会抛出异常,用户通过检测错误状态获取错误信息.
5. printWriter、printStream 都有自动 flush() 的功能.
6. print 流具有以下常用方法:
printWriter(Writer out)
printWriter(Writer out, boolean autoFlush)
printWriter(outputStream out)
printWriter(outputStream out, boolean autoFlush)
printStream(outputStream out)
printStream(outputStream out, boolean autoFlush)
Demo_1:
import java.io.*;
class Test {
public static void main(String[] args) {
try {
FileOutputStream fos = new FileOutputStream("E:/eclipse projiect/TEST0503.txt");
PrintStream ps = new PrintStream(fos);
if(ps!=null){
System.setOut(ps); // System.out 默认的是在命令行中输出
} // System.setOut 重新设置out的值
int ln = 0; // System.out 就是 printStream 类型
for(char c=0;c<=6000;c++){
System.out.println(c+" ");
ln++;
if(ln>=100){
System.out.println();
}
ln = 0;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
配图:

Demo_2:
import java.io.*;
class Test {
public static void list(String fileName, PrintStream ps) {
try {
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String s = null;
while((s=br.readLine())!=null){
ps.print(s);
System.out.println();
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
ps.println("无法读取文件");
}
}
public static void main(String[] args) {
String fileN = "E:/eclipse projiect/TEST.txt";
if(fileN != null) {
list(fileN, System.out);
}
}
}
运行结果:
ni hao: 中国0123
江城如画里,
山晚望晴空。
两水夹明镜,
双桥落彩虹。
人烟寒橘柚,
秋色老梧桐。
谁念北楼上,
临风怀谢公。
Demo_3:
import java.io.*;
import java.util.Date;
class Test {
public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try {
FileWriter fw = new FileWriter("E:/eclipse projiect/TEST0504.txt", true);
PrintWriter log = new PrintWriter(fw);
String s = null;
while((s=br.readLine())!=null){
if(s.equalsIgnoreCase("exit")){
break;
}
System.out.println(s.toUpperCase());
log.println("-----");
log.println(s.toUpperCase());
log.println("&&&&&"+ new Date()+"&&&&&");
log.flush(); // log 自带flush功能,但是写了比较好
}
log.println("&&&&&"+ new Date()+"&&&&&");
log.flush();
log.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果:
Eclipse 中的 console 中的内容如下:
wo men zhou mo qu na wan?
WO MEN ZHOU MO QU NA WAN?
qu chong qing ba ?
QU CHONG QING BA ?
hao ya
HAO YA
TEST0504.txt 文件中的内容如下:
-----
WO MEN ZHOU MO QU NA WAN?
&&&&&Wed May 03 15:18:30 CST 2017&&&&&
-----
QU CHONG QING BA ?
&&&&&Wed May 03 15:18:38 CST 2017&&&&&
-----
HAO YA
&&&&&Wed May 03 15:18:40 CST 2017&&&&&
Java中I/O流之Print流的更多相关文章
- Java中常用的字节流和字符流
IO流(输入流.输出流) 字节流.字符流 1.字节流: InputStream.OutputStream InputStream抽象了应用程序读取数据的方式: OutputStream抽象了应用程序写 ...
- 详谈JAVA中的file类与IO流
File类 位置于java.io包构造方法:File(String parent, String child)new file("d:\\","a.txt") ...
- Java中的流
一.Java中流的原理 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行.设备可以是文件,网络,内存等. 四种基本流InputStream,Ou ...
- java基础(四):谈谈java中的IO流
1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类 ...
- Java学习笔记六(I/O流)
1.介绍 在实际开发过程中经常会用到数据的输入/输出操作,本篇博客着重分析一下,java中经经常使用到的有关IO操作的类.而在java中能够将经常使用的流分为两个部分:字节流和字符流. 1.流的抽象基 ...
- java基础(24):转换流、缓冲流
1. 转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputS ...
- java - >IO流_缓冲流(高效流)
缓冲流(高效流) 在我们学习字节流与字符流的时候,大家都进行过读取文件中数据的操作,读取数据量大的文件时,读取的速度会很慢,很影响我们程序的效率,那么,我想提高速度,怎么办? Java中提高了一套缓冲 ...
- java中数据流的简单介绍
java中的I/O操作主要是基于数据流进行操作的,数据流表示了字符或者字节的流动序列. java.io是数据流操作的主要软件包 java.nio是对块传输进行的支持 数据流基本概念 “流是磁盘或其它外 ...
- 深入理解Java中的IO
深入理解Java中的IO 引言: 对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java > 本文的目录视图如下: ...
随机推荐
- 通过session_id恢复session内容
1.取得session_id // 开启session session_start(); // 取得 $_SESSION['test'] = '111222333'; $session_id = se ...
- tp js结合时间戳
$(document).ready(function(){ $.extend({ show:function(){ } }); setInterval("show()",1000) ...
- TCC : Tiny C Compiler (2018-2-6)
饭墙下载,有缘上传: https://files.cnblogs.com/files/bhfdz/tcc-0.9.27-win32-bin.zip https://files.cnblogs.com/ ...
- Python 爬虫 (二)
cookiejar模块: 管理储存cookie,将传出的http请求添加cookie cookie存储在内存中,CookieJar示例回收后cookie将自动消失 实例:用cookjar访问人人网主页 ...
- #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby # This script installs to ...
- C#正则表达式提取HTML中IMG标签的SRC地址(转)
一般来说一个 HTML 文档有很多标签,比如“<html>”.“<body>”.“<table>”等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 i ...
- 海思NB-IOT的SDK看门狗的使用
1. 看门狗需要喂狗,如果自己写的任务一直运行,那么空闲任务无法运行会导致看门狗复位,来看下看门狗的机制,首先系统启动的时候创建了空闲任务 在这个函数里面void vTaskStartSchedule ...
- quartz与Spring整合
1.创建maven工程,导入spring和quartz相关依赖 2.创建任务类 3.在spring配置文件中配置任务类 4.在spring配置文件中配置JobDetail 5.在spring配置文件中 ...
- GitLab 自动触发 Jenkins 构建
GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...
- yarn 原理
产生背景 直接源于MRv1在几个方面的缺陷 扩展性受限(NameNode,JobTracker设计为单一节点,内存容量有限) 单点故障 难以支持MR之外的计算 slot数目无法动态修改,Map slo ...