JAVA中,同时使用FileInputStream类和FileOutputStream类。

FileInputStream类读入一个文件的内容(C:\Java\a.txt),再将所读内容写入b.dat放入D:\JAVA\... FileInputStream类读入一个文件的内容(C:\Java\a.txt),再将所读内容写入b.dat放入D:\JAVA\ 展开
 我来答
chenxiaofeier
2013-01-06 · TA获得超过633个赞
知道答主
回答量:52
采纳率:0%
帮助的人:61.2万
展开全部
public class InputStreamTest {
public static void main(String[] args) throws IOException{
long begin=System.currentTimeMillis();//java.lang.System;返回以毫秒为单位的当前时间。
/**
* 采用缓冲区buffer提高效率。
*/
InputStream in =new BufferedInputStream(new FileInputStream("C:/Java/a.txt"));
byte[] buf=new byte[1024];//定义缓冲区的大小。
OutputStream out=new BufferedOutputStream(new FileOutputStream("D:/Java/a.txt"));
/**java.io.FileInputStream;
*public int read();从此输入流中读取一个数据字节。
*如果没有输入可用,则此方法将阻塞。
*返回:下一个数据字节;如果已到达文件末尾,则返回 -1。
*/
int b;
while(true){
//如果b不等于-1,就继续读取并复制文件。直到b=-1说明已读完,退出循环。
// System.out.println(b);
b=in.read(buf);
if(b==-1){
break;
}
/**java.io.FileOutputStream;
* public void write(byte[] b,int off,int len)
将指定byte数组中从偏移量off开始的len 个字节写入此文件输出流。
覆盖:类 OutputStream 中的 write。
参数:b - 数据。off - 数据中的起始偏移量。len - 要写入的字节数。
*/
out.write(buf,0,b);
}
in.close();//必须关闭保存文件。
out.close();
long end=System.currentTimeMillis();
long time=(end-begin);//计算复制文件所需时间,计算机中的时间是以毫秒为单位的。
System.out.println(time);
}
}
戏肖告O
推荐于2018-03-29 · TA获得超过441个赞
知道小有建树答主
回答量:331
采纳率:28%
帮助的人:184万
展开全部
InputStream is = new FileInputStream(C:\Java\a.txt);
File destFile = new File("路径",文件名);
OutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[400];
int length = 0 ;
while((length = is.read(buffer))>0){
os.write(buffer, 0, length);
}
is.close();
os.close();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2013-01-06 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
那么好写! 一个打开、另一个写入

实在找不到要帮忙的理由。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式