filereader.result大文件会报错

filereader.result大文件会报错,第1张

filereader.result大文件报错。filereader.result对象用于展示导出文件的后台报错。FileReader主要用于将文件内容读入内存,通过一系列异步接口首悉租,可以在主线程陆备中访者兆问本地文件。

就报错来看,还没有用到Lucene就出错了,意思是只到第一行就虚慎举拟机内存溢出了,可以考虑把源文件进行切割,如把10M的文本切成5个1M的,建议你试一下

给一个可以切分文件的程序,可把它作为预处橘毕理的一部分圆孝芹

public static void splitToSmallFiles(File file, String outputpath) throws IOException {

int filePointer = 0

int MAX_SIZE = 10240000

BufferedWriter writer = null

BufferedReader reader = new BufferedReader(new FileReader(file))

StringBuffer buffer = new StringBuffer()

String line = reader.readLine()

while (line != null) {

buffer.append(line).append("\\r\

")

if (buffer.toString().getBytes().length >= MAX_SIZE)

{

writer = new BufferedWriter(new FileWriter(outputpath + "output" + filePointer + ".txt"))

writer.write(buffer.toString())

writer.close()

filePointer++

buffer = new StringBuffer()

}

line = reader.readLine()

}

writer = new BufferedWriter(new FileWriter(outputpath + "output" + filePointer + ".txt"))

writer.write(buffer.toString())

writer.close()

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存