java - 当我在 xml 文件中写入信息时 Eclipse 显示错误

标签 java jdom-2

我使用 JDOM 库。当我将信息写入 xml 文件时,Eclipse 显示错误。该系统找不到指定的路径。我尝试在“语言”文件夹中创建该文件。当我向该文件写入信息时,如何自动创建该文件夹?我认为错误在这一行:

FileWriter writer = new FileWriter("language/variants.xml");

这是我的代码:

package test;

import java.io.FileWriter;
import java.util.LinkedList;
import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

class Test {
    private LinkedList<String> variants = new LinkedList<String>();

    public Test() {

    }
    public void write() {

        Element variantsElement = new Element("variants");
        Document myDocument = new Document(variantsElement);

        int counter = variants.size();
        for(int i = 0;i < counter;i++) {
            Element variant = new Element("variant");
            variant.setAttribute(new Attribute("name",variants.pop()));
            variantsElement.addContent(variant);
        }


        try {
            FileWriter writer = new FileWriter("language/variants.xml");
            XMLOutputter outputter = new XMLOutputter();
            outputter.setFormat(Format.getPrettyFormat());
            outputter.output(myDocument,writer);
            writer.close();
        }
        catch(java.io.IOException exception) {
            exception.printStackTrace();
        }
    }
    public LinkedList<String> getVariants() {
        return variants;
    }
}

public class MyApp {
    public static void main(String[] args) {
        Test choice = new Test();
        choice.write();
    }
}

这是错误:

java.io.FileNotFoundException: language\variants.xml (The system cannot find the path specified)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:104)
    at java.io.FileWriter.<init>(FileWriter.java:63)
    at test.Test.write(MyApp.java:31)
    at test.MyApp.main(MyApp.java:49)`enter code here

最佳答案

顾名思义,FileWriter 用于写入文件。如果该目录尚不存在,则需要先创建它:

File theDir = new File("language");
if (!theDir.exists()) {
  boolean result = theDir.mkdir();  
  // Use result...
}
FileWriter writer = ...

关于java - 当我在 xml 文件中写入信息时 Eclipse 显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16724279/

相关文章:

java - 非抽象类不能重写Comparable中的抽象方法compareTo吗?

java - 部署后的 TomCat 错误页面

java - 按位置删除元素

java - 如何使用计数器创建不同的 xml 标签?

java - 如何在java中解析soap字符串

java - 如何返回 DataSnapshot 值作为方法的结果?

java - 调用另一个通用方法的通用方法 - util 方法返回 Class<Customer> 而不是 Customer

java - HSQLDB:如果不存在则创建模式 -> 意外标记不存在

java - 如何使用jdom检测xml文档中的空标签

java - 从 tesseract hOCR XML 输出中选择的 XPathExpression