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流的更多相关文章

  1. Java中常用的字节流和字符流

    IO流(输入流.输出流) 字节流.字符流 1.字节流: InputStream.OutputStream InputStream抽象了应用程序读取数据的方式: OutputStream抽象了应用程序写 ...

  2. 详谈JAVA中的file类与IO流

    File类 位置于java.io包构造方法:File(String parent, String child)new file("d:\\","a.txt") ...

  3. Java中的流

    一.Java中流的原理 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行.设备可以是文件,网络,内存等. 四种基本流InputStream,Ou ...

  4. java基础(四):谈谈java中的IO流

    1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类 ...

  5. Java学习笔记六(I/O流)

    1.介绍 在实际开发过程中经常会用到数据的输入/输出操作,本篇博客着重分析一下,java中经经常使用到的有关IO操作的类.而在java中能够将经常使用的流分为两个部分:字节流和字符流. 1.流的抽象基 ...

  6. java基础(24):转换流、缓冲流

    1. 转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputS ...

  7. java - >IO流_缓冲流(高效流)

    缓冲流(高效流) 在我们学习字节流与字符流的时候,大家都进行过读取文件中数据的操作,读取数据量大的文件时,读取的速度会很慢,很影响我们程序的效率,那么,我想提高速度,怎么办? Java中提高了一套缓冲 ...

  8. java中数据流的简单介绍

    java中的I/O操作主要是基于数据流进行操作的,数据流表示了字符或者字节的流动序列. java.io是数据流操作的主要软件包 java.nio是对块传输进行的支持 数据流基本概念 “流是磁盘或其它外 ...

  9. 深入理解Java中的IO

    深入理解Java中的IO 引言:     对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java >   本文的目录视图如下: ...

随机推荐

  1. AppleScript 快速入门

    AppleScript 快速入门 AppleScript 顾名思义是苹果开发的一套脚本语言,利用 AppleScript 在 macOS 系统上可以对其他程序进行操作,点击按钮.发送消息.模拟自动化执 ...

  2. 【JavaWeb】从零实现用户登录

    1.数据库预备 1.1 SQL 创建数据库 create database db; 创建表 create table userInfo( id int primary key , name ), pa ...

  3. 网站用户行为分析——HBase的安装与配置

    Hbase介绍 HBase是一个分布式的.面向列的开源数据库,源于Google的一篇论文<BigTable:一个结构化数据的分布式存储系统>.HBase以表的形式存储数据,表有行和列组成, ...

  4. Linux字符设备学习,总结

    注册字符驱动的一种老方法: 注册一个字符设备的经典方法是使用:int register_chrdev(unsigned int major, const char *name, structfile_ ...

  5. I2C驱动

    在I2C总线驱动下,也是硬件设备和驱动分离,使以就需要通过它们的名字来匹配,这样驱动的probe函数才能被调用 查看linux内核的Documents目录下的说明文件,可知构造i2c设备有4种方法: ...

  6. django创建第一个视图-4

    创建视图 打开 demo 应用下的 views.py 文件,添加代码 from django.http import HttpResponse from django.shortcuts import ...

  7. day04-decorator

    # Author: 刘佳赐-Isabelle # Email: jiaci.liu@gmail.com ''' 练习题: 1.整理装饰器的形成过程,背诵装饰器的固定格式 2.编写装饰器,在每次执行被装 ...

  8. python和java,php,c,c#,c++的对比

    1.C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素.C++在这方面做了改进,在保 ...

  9. Node.js的Formidable模块的使用,方便快捷

    服务用的是express ,如果不是很老的express框架,都有自带formidable  如果没有就下载一个  npm i formidable var formidable = require( ...

  10. 北京Uber优步司机奖励政策(1月29日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...