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. 7. CSS装饰网页的样式

    CSS中有哪些用来装饰网页的样式呢?在这里我们对一些常用的样式做了总结. 字体样式 /* * 一般样式书写 */ .font_style_1{ font-family: "华文行楷" ...

  2. thinkphp5 toArray()报错

    //DB操作返回是数组.模型直接操作返回是对象 //对象类型转换数组 //打开 database.php 增加或修改参数 'resultset_type' => '\think\Collecti ...

  3. laravel form 表单提交

    form表单需要加token,不然会出现419错误,csrf_token不用自己生成,放进去就行,laravel自己会生成 路由: 控制器生成一个:

  4. YII2.0 后台手动添加用户功能

    后台添加管理员用户使用SignupForm类实现 步骤一.复制一份前台frontend/models/SignupForm.php 到后台模型文件夹中 backend/models/SignupFor ...

  5. Hive--关联表(join)

    在hive中,关联有4种方式: 内关联:join on 左外关联:left join on 右外关联:right join on 全外关联:full join on 另外还有一种可实现hive笛卡儿积 ...

  6. python应用:selenium之爬取天眼查信息

    inform_table.py # -*-coding:utf8-*- from selenium import webdriver from selenium.webdriver.common.pr ...

  7. python学习笔记:第11天 闭包及迭代器

    目录 1. 函数名的使用 2. 闭包 3. 迭代器 1. 函数名的使用 其实函数名也是一个变量,但它是一个比较特殊的变量,与小括号配合可以执行函数的变量: 函数名其实和内存一样,也可以使用print查 ...

  8. python兵器谱之re模块与正则表达式

    一.正则表达式 ·1.正则表达式的应用场景: 应用特有的规则,给我需要的符合规则的字符串,在字符串中只有符合条件的才会被匹配和从大段的字符串中提取需要的数据 ·匹配字符串的规则: ·1.字符串:用户输 ...

  9. go基础语法-常量与枚举

    1.常量定义 用const关键字修饰常量名并赋值,常量命名不同于java等语言,golang中一般用小写,因为在golang中首字母大写表示public权限 const a = 3 2.常量使用 使用 ...

  10. AtCoder Regular Contest 100 E - Or Plus Max

    一道很好的dp题 dp[K]存的是 i满足二进制1属于K二进制1位置 最大的两个Ai 这样dp[K]统计的两个数肯定满足(i | j) <= K 然后不断做 update(dp[i | (1&l ...