java 根据一个文件内容同时 *** 作多个文件?

java 根据一个文件内容同时 *** 作多个文件?,第1张

可以用多线程来 *** 作,java8的异步多线程CompletionStage接口,就可以实现,或者不使用多线程使用单线程版反应器模式Reactor(反应器)定制几个处理器接口,根据第一个文件的内容来分发到不同的处理器来处理你具体的需求,具体代码有空可以写给你

import java.io.FileInputStream

import java.io.FileOutputStream

import java.io.IOException

import java.nio.ByteBuffer

import java.nio.channels.FileChannel

/**

*

* 用NIO把20g的文件分割开 生成到temp文件里

* 然后再用传统的方法去读取每一个小文件

*/

public class ReadLargeTextWithNIO

{

public static void main(String args[]) throws IOException

{

FileInputStream fin = new FileInputStream("C:\\TDDOWNLOAD\\query.log.td")

FileChannel fcin = fin.getChannel()

ByteBuffer buffer = ByteBuffer.allocate(1024 * 1024 * 50)

while(true)

{

buffer.clear()

int flag = fcin.read(buffer)

if(flag == -1)

{

break

}

buffer.flip()

FileOutputStream fout = new FileOutputStream("d:\\temp\\" + Math.random() + ".log")

FileChannel fcout = fout.getChannel()

fcout.write(buffer)

System.out.println(buffer)

}

}

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存