[Fatal Error] :-1:-1: Premature end of file.!!!XML文件的读写

jiangpeng84 2007-03-12 09:31:57
在解析XML文件中随机会弹出这个红色提示.

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(fName);
filename=fName;
doc.normalize();
NodeList links=doc.getElementsByTagName(mytitle);
Element link=(Element) links.item(0);
link.getFirstChild().setNodeValue(mycontent);
document=doc;

TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);


用这个方法取XML文件有问题吗?试过手动建XML,自动建XML,结果程序自动建XML的时候必然出这个提示,手动建了以后读XML,10次有那么1-2次出错,其他时候不报错,谁遇到过这个问题,怎么解决!
...全文
3295 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
younger0616 2007-03-13
  • 打赏
  • 举报
回复
不会是多线程的读写问题吧,lz在读写之前判断一下文件是否可读或者可写,看看行不行
lixiaoxue85 2007-03-13
  • 打赏
  • 举报
回复
这应该是XML的格式没符合规范,程序新建时编码的不统一会导致这样.LZ可以试试全英文,如果不出现这样的情况可认定为编码问题=>如果还是就要考虑生成的XML为社么不对了
jiangpeng84 2007-03-13
  • 打赏
  • 举报
回复
XML没错,好象是多线程的读写互斥问题,每个操作的方法都加上一个Synchronized (static lock)之后读写没问题,不过每次新建还是会跳一条这个信息,不知道为什么.
jiangpeng84 2007-03-12
  • 打赏
  • 举报
回复
不用管?不用管,有时候会出错的吧
bianmazi 2007-03-12
  • 打赏
  • 举报
回复
不用管的。呵呵。接分!偶也是不太理解的。等待。。。Lz支持一下哟
jiangpeng84 2007-03-12
  • 打赏
  • 举报
回复
刚才说错了,是每次在往XML中更新数据的时候可能出这个提示,几率大概20%,每次大概出1-4条,
很奇怪

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧