Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » 编程/算法/API  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 [请教]如何把读出的文件在标准输出打印出来?(用nio)
monogatari





发贴: 5
积分: 0
于 2005-04-18 17:04 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
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.printCamera;

bb.clear();
}

from.close();
to.close();
}




搞笑QQ图片

话题树型展开
人气 标题 作者 字数 发贴时间
5121 [请教]如何把读出的文件在标准输出打印出来?(用nio) monogatari 1292 2005-04-18 17:04

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   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