打印流

 


/*
 * PrintStream、PrintWriter中的输出有两个方法:
 * write() ----和字节输出流一样,以字节为单位输出,是数据的原样输出--值--面向计算机
 * print() ----把数据转换成字符串输出,不是数据的原样输出--值的表现形式---面向用户的
 * 打印流在构造时可以指定字符编码
 *  setOut()函数
 */
public class Print{

/PrintStream/
@Test
public void printStream2() throws IOException{
System.setOut(new PrintStream("file/print.txt"));
for(int i=1;i<100;i++){
System.out.print(i+" ");
}
System.out.println();
}

@Test
public void printStream() throws IOException{
// PrintStream ps=new PrintStream(new FileOutputStream("print.txt"));
PrintStream ps=new PrintStream("print.txt","gbk");//指定编码
ps.print(97);//存入的内容和括号中的一样是值得表现形式---面向用户



ps.write(97);//以字节为单位的输出,是数的原样输出---面向计算机
ps.write(353);//只取最后一个字节

ps.close();
// void print( int n ){//print的实际语句
//    out.wirte( String.valueOf(n) );
// }
}
/PrintWriter/
/*相比PrintStream,PrintWriter以下两点不同:
1) 带缓存的,输出时要flush()
2) PrintWriter在创建时可以指定为自动刷缓存, 只对println、printf 或 format方法有效
*/
@Test
public void printWriter() throws IOException{
// PrintWriter pw=new PrintWriter("file/printWriter"); 
PrintWriter pw=new PrintWriter("file/prinWriter.txt","gbk");//和PrintStream一样都可以指定编码
pw.print(97);//只单单写句语句是不足一将内容写入文件的,因为PrintWriter是带缓存的所以实时刷新
pw.write(97);
// pw.flush();//本语句有刷新的功能,也可以使用close(),close()在运行的时候回自动调用flush()函数
pw.close();
}
@Test
public void printWriter2() throws IOException{
PrintWriter pw=new PrintWriter(new FileOutputStream("file/printWriter2.txt"),true);//true表示是否要自动刷新
for(int i=0;i<5;i++){
//pw.print("abc123qq中文"+i+"\r\n");//自动刷新功能无效
pw.println("abc123qq中文"+i);//自动刷新功能有效
}
//自动刷新之后就不用写flush语句了;

pw.close();

}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值