通过管道实现文件的拷贝
public class Demo {
//通过管道完成文件的拷贝
public static void main(String[] arg) {
PipedInputStream in =new PipedInputStream();
PipedOutputStream out;
try {
out = new PipedOutputStream(in);
sender s =new sender(out);
receiver r =new receiver(in);
ExecutorService service =Executors.newCachedThreadPool();
service.execute(s);
service.execute(r);
service.shutdown();
service.awaitTermination(1, TimeUnit.DAYS);
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} }
class sender implements Runnable{
PipedOutputStream out =null;
sender(PipedOutputStream temp){
out =temp; }
@Override public void run() {
// TODO 自动生成的方法存根
File file = new File("D:\\aa.log");
FileInputStream inStream;
try {
inStream = new FileInputStream(file);
byte[] buff=new byte[1024];
int len =0;
while((len = inStream.read(buff))!=-1) {
out.write(buff,0,len);
}
out.close();
inStream.close();
System.out.println("完成文件读取");
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
class receiver implements Runnable{
PipedInputStream in;
public receiver(PipedInputStream temp) {
in = temp;
}
@Override public void run() {
// TODO 自动生成的方法存根
try {
FileOutputStream outStream =new FileOutputStream("F:\\kk.log");
byte[] buff =new byte[1024];
int len=0;
while((len=in.read(buff))!=-1) {
outStream.write(buff, 0, len);
outStream.flush();
}
outStream.close();
in.close();
System.out.println("完成新文件写入");
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} } }
转载于:https://www.cnblogs.com/jack-L/p/10472169.html
通过管道实现文件的拷贝相关推荐
- linux大文件拷贝,Linux如何提高大文件的拷贝效率
Linux系统操作中,当你在进行机器直接的拷贝时,遇到大文件的时候非常浪费时间,特别是将文件同时拷贝到多台机器上的时候,那么有什么好的方法能够提高大文件的拷贝效率呢?一起来学习下吧. 你可以从源机器逐 ...
- python 利用多进程实现文件的拷贝
python 利用多进程实现文件的拷贝 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37338590/article/details/784 ...
- Linux命令scp用于远程文件的拷贝(上传和下载)
3_Linux命令scp用于远程文件的拷贝(上传和下载) 文章目录 1.SCP简介 2.SCP使用 2.1.命令格式: 2.2.命令功能: 2.3.命令参数: 3.使用实例: 如何将本地文件通过终端上 ...
- linux命令之远程文件或文件夹拷贝-scp
在linux安装部署或者升级分布式系统时,经常要重当前主机拷贝文件到集群中其他的主机节点,或者从其他主机节点拷贝文件到当前主机. 我们知道cp命令是同一主机下面文件的拷贝,而scp命令就是linux下 ...
- linux服务器拷贝目录文件夹,linux两台服务器之间文件/文件夹拷贝
linux两台服务器之间文件/文件夹拷贝 跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹--------------------------------- ...
- linux拷贝文件夹怎么删除,linux文件及文件夹拷贝移动删除
linux文件及文件夹拷贝移动删除 文件拷贝 文件夹拷贝 文件拷贝并重命名 文件夹拷贝并重命名 文件移动 文件夹移动 文件移动并重命名 文件夹移动并重命名 文件删除 文件夹删除 文件拷贝 cp tes ...
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...
- rsync 同步文件重复拷贝问题
rsync 是同步文件的利器,一般用于多个机器之间的文件同步与备份,同时也支持在本地的不同目录之间互相同步文件.在这种场景下,rsync 远比 cp 命令更加合适,它只会同步需要更新的文件,默认情况下 ...
- Java 文件的拷贝
一:上码 package com.wyj.two;import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...
- linux文件传输到另一台linux,使用scp将文件/目录拷贝到另一台Linux主机上
如何将一台Linux主机上的文件或目录拷贝到另一台Linux主机上,scp命令可以实现该需求 前提条件:两台Linux主机处于同一网段,可以互相ping通 操作如下: 文件拷贝 ①将本地文件拷贝到远端 ...
最新文章
- MySQL Cluster 日常维护
- 基于InfluxDB实现分页查询功能
- MANIFEST.MF文件的格式
- MATLAB实战系列(二十六)-matlab通过遗传算法求解车间调度问题
- keras神经网络模型的保存与加载
- centos安装ES(elasticsearch)
- 巧用PHP中__get()魔术方法
- Delphi与Windows 7下的用户账户控制(UAC)机制
- Linux Shell中有三种引号的用法
- python logger_牛逼!python中的logging模块居然这么好用!
- 雕虫晓技(十) Android超简单气泡效果
- Maven实战05_背景案例学Maven模块化
- 教你大数据必修三大技能 快快记录下来
- 北理工的石锅饭依然美味
- 用C语言程序编写字体,程序员都爱用这些字体写代码!
- ubuntu FreeRadius服务器安装
- Dell插入耳机仍然外放的问题解决
- 同比 数据模型 环比_同比(环比)在分析模型中的实现
- 企业内部应用(阿里商旅)集成 钉钉 与 微信 实现SSO单点登陆
- 2020年第三季度的垃圾邮件和网络钓鱼攻击分析