How to read large TXT files in JAVA
This article will explain in detail how to read large TXT files in JAVA. The content of the article is of high quality, so the editor shares it for you as a reference. I hope you will have a certain understanding of the relevant knowledge after reading this article.
When the file is too large, if we still read it in the traditional way, it is easy to cause the memory to be full, we should take it apart and read it:
Use NIO to divide large files into small files of fixed size (less than 2G, comprehensively analyze how big each file is, too large is easy to waste space, and too small to waste time), and then recycle program 1 to read each small file.
Public static void readLargeTextWithNIO () {
Try {
Long startTime = System.currentTimeMillis ()
/ / Files to be read
FileInputStream fin = new FileInputStream ("/ Applications/demo/aaaa.txt")
FileChannel fcin = fin.getChannel ()
/ / the file is too large and split into a 128m txt file
ByteBuffer buffer = ByteBuffer.allocate (128 * 1024 * 1024)
While (true) {
Buffer.clear ()
Int flag = fcin.read (buffer)
If (flag =-1) {
Break
}
Buffer.flip ()
/ / output to the specified location
FileOutputStream fileInputStream = new FileOutputStream ("/ Applications/demo/" + UUID.randomUUID () .toString () + ".txt")
FileChannel channel = fileInputStream.getChannel ()
Channel.write (buffer)
}
Long endTime = System.currentTimeMillis ()
System.out.println ("Total consumption: + (endTime-startTime) / 1000 +" seconds ")
/ / the size of each file is 128m, and then you can read it using the traditional method.
} catch (Exception e) {
}
}
On how to read large TXT files in JAVA to share here, I hope the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.