gpt4 book ai didi

java - 无法读取 XMLFile,异常 : java. io.FileNotFoundException : C:\Temp\logger. dtd(系统找不到指定的文件)

转载 作者:行者123 更新时间:2023-12-01 06:18:21 27 4
gpt4 key购买 nike

我在读取由下面的类创建的 XML 文件时遇到问题。我相信这里有一些属性需要设置才能使用正确的文件目录。生成的 XML 文件:

<?xml version="1.0" encoding="WINDOWS-1252"?>
<!DOCTYPE log SYSTEM "logger.dtd">
如果删除包含 "logger.dtd"的行,则可以读取顶部的

。有人能解释一下发生了什么事吗?我正在从使用 SAXParser API 设置的同一 URI 进行读取。我按照此处的 SAX 解析说明进行操作:http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/

    package logging;

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;

import java.util.logging.SimpleFormatter;
import java.util.logging.XMLFormatter;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class Log {
static private FileHandler fileTxt;
static private SimpleFormatter formatterTxt;
static private FileHandler fileXML;
static private XMLFormatter formatterXML;



static public void setup(Logger theLogger) throws IOException{
Logger logger = theLogger;

logger.setLevel(Level.ALL);

fileTxt = new FileHandler("C:\\Temp\\logging.txt");
fileXML = new FileHandler("C:\\Temp\\XMLLogging.xml");

formatterTxt = new SimpleFormatter();
fileTxt.setFormatter(formatterTxt);
logger.addHandler(fileTxt);

formatterXML = new XMLFormatter();
fileXML.setFormatter(formatterXML);
logger.addHandler(fileXML);

for(Handler h: logger.getHandlers()){
System.out.println(h.getFormatter());
}


}

}

最佳答案

虽然这个问题已经有一段时间了,但是,我遇到了这种情况,不得不努力寻求解决方案。我发现了这个,如果它也适用于其他人,可能是这样的

@Override
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
if (systemId.contains("log4j.dtd")) {
return new InputSource(new StringReader(""));
} else {
return null;
}
}

实现此方法并提及您的 dtd 名称,它应该继续进行,没有任何异常。

关于java - 无法读取 XMLFile,异常 : java. io.FileNotFoundException : C:\Temp\logger. dtd(系统找不到指定的文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17976268/

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