Java 如何从键盘获取dtd和xml文件?

Java 如何从键盘获取dtd和xml文件?,java,swing,jakarta-ee,saxparser,jaxm,Java,Swing,Jakarta Ee,Saxparser,Jaxm,我正在做一些xml验证工具。所以,我需要代码如何从键盘获取dtd和xml文件作为参数。我的代码如下。请告诉我。我是java新手 public class ValidateXML { public static void main(String args[]) { try{ File x = new File(args[0]); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); facto

我正在做一些xml验证工具。所以,我需要代码如何从键盘获取dtd和xml文件作为参数。我的代码如下。请告诉我。我是java新手

    public class ValidateXML
 {
public static void main(String args[]) {
try{
    File x = new File(args[0]);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(true);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new org.xml.sax.ErrorHandler() {
//To handle Fatal Errors
public void fatalError(SAXParseException exception)throws SAXException {
System.out.println("Line: " +exception.getLineNumber() + "\tColumn: "+e.getColumnNumber() + "\nFatal Error: "+exception.getMessage());
}
//To handle Errors
public void error(SAXParseException e)throws SAXParseException {
System.out.println("Line: " +e.getLineNumber() + "\tColumn: "+e.getColumnNumber() + "\nError: "+e.getMessage());
}
//To Handle warnings
public void warning(SAXParseException err)throws SAXParseException{
System.out.println("Line: " +err.getLineNumber() + "\tColumn: "+e.getColumnNumber() + "\nWarning: "+err.getMessage());
}
});
Document xmlDocument = builder.parse(new FileInputStream(x));
System.out.println("execute!!");
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
供编译使用

javac ValidateXML.java

用于执行程序

 java ValidateXML <fileName>
java验证xml

我已经从您的程序中意识到了这一点,您正在接受arg(0)作为字符串,它是文件的位置。

您所说的“从键盘”是什么意思?您可以用键盘键入xml/dtd,但我认为这不是您的问题…可能意味着命令行<代码>新文件(args[0])谢谢回复。我需要两个命令行输入DTD和xml。嗨,谢谢你的回复。我需要来自键盘输入的DTD和xml文件,比如参数。如果是这样,那么使用interactive,因为Windows中的命令行长度限制为32767个字符。看看这个交互式命令行输入的例子:Phani,我想要精确的代码,如何使用命令行dtd文件和xml文件。(例如:java ValidateXML dtdfile xmlfile)我认为StackOverflow不会提升完整的代码,您可以尝试从internet上查找它,如果遇到任何问题,请复制到这里。我的代码上面的phani工作正常,但它只在命令行中输入xmlfile。我希望dtdfile和xmlfile都将输入作为命令行参数传递。因为我想选择哪个dtd将在此XML文件上运行。