gpt4 book ai didi

java.lang.OutOfMemoryError : Java heap space when reading from a txt file and writing to an xlsx file 错误

转载 作者:行者123 更新时间:2023-11-29 06:06:24 26 4
gpt4 key购买 nike

我正在编程以创建一个工具来将编码的 .txt 文件翻译成可读的 .xlsx 文件。 (我需要使用 xlsx,因为我要处理超过 256 个列,所以我在编写行和列时使用 XSSFWorkbook)。

编码部分没问题..我知道它是因为我验证了它几次但是当我尝试在代码中添加新的编码映射时它都以 :

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.io.ByteArrayOutputStream.write(Unknown Source)
at org.apache.poi.openxml4j.opc.internal.MemoryPackagePartOutputStream.write(MemoryPackagePart OutputStream.java:88)
at org.apache.xmlbeans.impl.store.Cursor._save(Cursor.java:590)
at org.apache.xmlbeans.impl.store.Cursor.save(Cursor.java:2544)
at org.apache.xmlbeans.impl.values.XmlObjectBase.save(XmlObjectBase.java:212)
at org.apache.poi.xssf.usermodel.XSSFSheet.write(XSSFSheet.java:2480)
at org.apache.poi.xssf.usermodel.XSSFSheet.commit(XSSFSheet.java:2439)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:196)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:200)
at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:204)
at model.Conversione.traduzioneFile(Conversione.java:241)
at model.Main.scriviFile(Main.java:76)
at model.Main.main(Main.java:52)

错误发生在 3000/4000 行之后,内存是这样的起始值:

14443720**:13572128**:12078128**:10575592**:14126224 ->新增加总是低于起始值然后减少**:12559920**:11811440**:10229128**:13751400 -> ...**:13011080

“编码映射”通常是 HashMap<Integer,Hashmap<Integer,String>> 类型的映射.(我这样做是因为我不能使用数据库..)

所以程序主要是:

-首先实例化并创建整个 map ,- 从 .txt 文件中读取行,-split the line, take a token, translate it using the map 并将其放入行和列中-wb.write(fileOutputStream fos)-fos.close.

即使在翻译操作中没有考虑我添加的 map ,我也无法理解为什么会出现该错误......

为什么内存数量如此多变? (但永远不会回到起始值?)

如果我在某些方面不清楚,请问..我不知道该怎么做..

一开始我认为这是一个缓冲问题,因为 .xlsx 文件的大小不断增加(即使..正如我所说..应该没有任何改变,因为没有使用新 map )..

感谢任何提示..

露西亚

最佳答案

您可以使用 jvisualvm 或 jmap -histo:live 检查占用内存的内容。如果应用程序确实需要内存,您可以尝试增加内存限制 -Xmx ...

关于java.lang.OutOfMemoryError : Java heap space when reading from a txt file and writing to an xlsx file 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com