如何并行读写远程文件

如何并行读写远程文件,第1张

FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log")

Result rs = fa.getFttpReader().tryReadAll()调用tryReadAll会立即返回一个Result,但是不能马上获取到结果值,需要轮循检查它的状态是否就绪

rs.getStatus()有三种状态:

Result.NOTREADY 未就绪

Result.READY 就绪

Result.EXCEPTION 异常轮循直到状态准备就绪:

while(rs.getStatus()==Result.NOTREADY)状态就绪就可以通过getResult()获取到读取结果:

byte[] bts = rs.getResult()可以对一个远程文件的不同部分同改高时并行读写,也可以对多个远程文件同时并行读写,比如:

String fttppath = "fttp://10.232.20.151/home/log/1.log"

FttpAdapter fa0 = new FttpAdapter(fttppath)

FttpAdapter fa1 = new FttpAdapter(fttppath)

FttpAdapter fa2 = new FttpAdapter(fttppath)

Result rs0 = fa0.getFttpReader(0,5).tryReadAll()

Result rs1 = fa1.getFttpReader(5,5).tryReadAll()

Result rs2 = fa2.getFttpReader(10,5).tryReadAll()

上面表示3个同时核早尺并行的读睁念取,分别的从一个文件的0,5,10位置向后读5个字节。

import java.io.BufferedReader

import java.io.File

import java.io.FileReader

/**

* @author lmq

*

*/

public class RemoteFile {

public static void main(String[] args) throws Exception {

File remoteFile = new File("//192.168.7.146/test/1.txt")// 192.168.7.146是对方机器IP,test是对方那个共享文件夹名字,如果没凳消有共享是访问不到的

//远程文件其实枣森知主要是地址,春歼地址弄对了就和本地文件没什么区别 ,windows里面//或者\\\\开头就表示这个文件是网络路径了其实这个地址就像我们再windows里面,点击开始

//然后点击运行,然后输入 \\192.168.7.146/test/1.txt访问远程文件一样的

BufferedReader br = new BufferedReader(new FileReader(remoteFile))

String str

while ((str = br.readLine()) != null) {

System.out.println(str)

}

br.close()

}

}

希望能帮到你。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12116080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存