gpt4 book ai didi

java - 如何读取/写入大于200MB的文件

转载 作者:行者123 更新时间:2023-12-01 18:36:19 25 4
gpt4 key购买 nike

我已经看过并阅读了一些关于读写文件txt的指南,但是在我的项目中存在一些小问题,例如我的文件超过200MB(是一个xml文件);无论如何,我想读取我的文件,部分代码是这样的:

node id="1653281475" lat="44.499773" lon="11.350111" version="1"

timestamp="2012-02-29T20:15:15Z" changeset="10831749" uid="91650" user="Alberto58">

tag k="barrier" v="gate"/>
tag k="bicycle" v="yes"/>
tag k="foot" v="yes"/>
tag k="car" v="yes"/>

node/Other node:node id="16532843433" etc..........

我只想搜索节点 ID“1653281475”,并仅将标签 k="foot"v="yes"修改为该节点中包含的 k="foot"v="no"。

我该怎么做?

<小时/>

这是我尝试读取和写入 xml 文档的第二天(现在我使用的是一点 654 字节的 xml)employees.xml,我遵循了很多指南,但我不明白我该怎么做,例如我遵循本指南:

http://www.journaldev.com/1198/java-sax-parser-example-tutorial-to-parse-xml-to-list-of-objects

因此,我创建了 3 个 java 文件,它们位于名为 sax 的目录中:Employee.java、MyHandler.java、XMLParserSAX.java(其中存在一些错误,代码与我链接的页面相同)

当我使用命令(我在Ubuntu 12.04) javac sax/* 时没有问题但是当我使用 java sax.XMLParserSAXEmployees.xml 时存在很多问题;首先,代码中存在错误 “import com.journaldev.xml.Employee;”--> 找不到符号。另一个错误是相同的,但在其他地方,例如 "MyHandler handler = new MyHandler();"...

我认为问题在于 XMLPArserSAX 无法识别 Employee 类...我必须做什么? =(

最佳答案

不要将整个文件加载到内存中。 SAX 解析器正是为这种用途而设计的。使用 SAX 解析器读取文件。当您读取每个标签时,不断将其写入输出文件 - 直到您看到 node id="1653281475"。当您看到该节点时,对其进行修改并将其写入输出文件。然后继续将节点写入输出文件直到结束。在此过程结束时,输出文件中将包含修改后的 XML。

关于java - 如何读取/写入大于200MB的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21858201/

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