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 > 本文的目录视图如下: ...
随机推荐
- JQuery制作网页——第五章 初识 jQuery
1.jQuery简介: ● jQuery由美国人John Resig于2006年创建 ● jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装 ● 它的设计 ...
- 帝国CMS调用友情链接多种方法
今天织梦模板给大家讲解帝国CMS调用友情链接的常见方法: 1.帝国内置标签:phomelink [phomelink]每行显示数,显示总数,操作类型,分类id,是否显示原链接[/phomelink] ...
- mysql索引建立原则
看了网上一些网上关于创建索引的原则,在这里做一下总结: 1.尽量创建在使用频率较高的字段上,比如主键,外键,where总用到的字段,join是相关联的字段 2.如果表过大,一定要创建索引. 3.索引应 ...
- AS5600磁编码器开发记录
AS5600使用简介--(程序员版) -----------------本文由"智御电子"提供,同时提供范例教程,以便电子爱好者交流学习.---------------- 前言: ...
- Python学习手册之捕获组和特殊匹配字符串
在上一篇文章中,我们介绍了 Python 的字符类和对元字符进行了深入讲解,现在我们介绍 Python 的捕获组和特殊匹配字符串.查看上一篇文章请点击:https://www.cnblogs.com/ ...
- ruby 批量下载王者荣耀皮肤
主要采用ruby Parallel库提供的多线程方式: require 'unirest' require 'open-uri' require 'parallel' require 'json' u ...
- mfc和qt的区别
注:引用来源 http://wenda.chinabaike.com/b/30934/2013/1208/707410.html QT使用的编译器是MinGW,即Linux下的GCC移植到window ...
- PWA-网络
PWA-网络 fetch API Get fetch('/some/url',{ method:'GET' }).then(function(resp){ //success }).catch(fun ...
- HTML基础part1
HTML基础 Web的本质就是利用浏览器访问socket服务端,socket服务端收到请求回复数据提供给浏览器进行渲染显示. import socket def main(): sock = sock ...
- 【机器学习笔记】EM算法及其应用
极大似然估计 考虑一个高斯分布\(p(\mathbf{x}\mid{\theta})\),其中\(\theta=(\mu,\Sigma)\).样本集\(X=\{x_1,...,x_N\}\)中每个样本 ...