Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
» 编程/算法/API
打印话题 寄给朋友 订阅主题 |
作者 | [请教]如何把读出的文件在标准输出打印出来?(用nio) |
monogatari
发贴: 5 积分: 0 |
于 2005-04-18 17:04
import java.nio.*; import java.nio.channels.*; import java.io.*; public class TestAll { public TestAll() { } public static void main(String[]args)throws Exception{ FileChannel from=new FileInputStream("d:\\dodo.txt").getChannel(); FileChannel to=new FileOutputStream("d:\\didi.txt").getChannel(); ByteBuffer bb=ByteBuffer.allocate(1024); int index=0; while((index=from.read(bb))!=-1){ bb.flip(); to.write(bb);//写到文件中 //这里想把所读的也输出到标准输出上,应该怎么做?? bb.clear(); } from.close(); to.close(); } } -------------------------------------------------- /* 我想到的一个方法是再用一个byte来生成String,但是这样要浪费空间,而且看上去也不太漂亮。还有其他更好的方法吗?我希望的方法是 有没有什么Channel 能将System.out作为参数的,即包装了System.out,然后只对这个Channel 操作就可以了,这样的话,不论是对文件写,还是对标准输出写,都是对某个Channel的写, */ public static void main(String[]args)throws Exception{ FileChannel from=new FileInputStream("d:\\dodo.txt").getChannel(); FileChannel to=new FileOutputStream("d:\\didi.txt").getChannel(); ByteBuffer bb=ByteBuffer.allocate(1024); //再弄个byte用来生成String byte[]forOut=new byte[1024]; int index=0; while((index=from.read(bb))!=-1){ bb.flip(); to.write(bb); bb.rewind(); //读到byte[]里面。 bb.get(forOut,0,bb.limit()); String p=new String(forOut,0,bb.limit()); System.out.print; bb.clear(); } from.close(); to.close(); } 搞笑QQ图片 |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
5121 | [请教]如何把读出的文件在标准输出打印出来?(用nio) | monogatari | 1292 | 2005-04-18 17:04 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |