Я пытаюсь записать данные в XML-файл. Он работает правильно в Eclipse. Файл находится в папке ca/ism/wen/domain (вместе с моим user.java).
Однако он выдает FileNotFoundException, когда я запускаю экспортированный исполняемый файл jar. Есть ли способ записать файл XML в файл jar?
Ниже приведен мой код:
package ca.ism.wen.utils;
import java.io.File;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import ca.ism.wen.domain.User;
/**
* Load XML file
*
*/
public class XmlFactory {
private static Document dom;
//private static File file = new File(User.class.getResource("UserRDP.xml").getPath());
private static InputStream filei = User.class.getResourceAsStream("UserRDP.xml");
private static File fileo = new File(User.class.getResource("UserRDP.xml").getPath());
static {
try{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
dom = db.parse(filei);
} catch (Exception e){
e.printStackTrace();
}
}
public static Document getDom(){
return dom;
}
public static void saveDom(){
try {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer trans = tf.newTransformer();
DOMSource ds = new DOMSource(dom);
StreamResult sr = new StreamResult(fileo);
trans.transform(ds, sr);
} catch (Exception e){
throw new RuntimeException(e.getMessage(),e);
}
}
}
Если мне нужно разместить свой XML-файл где-то снаружи, я хочу получить работоспособный файл и поместить его в папку под всем моим проектом (как обычное программное обеспечение), потому что это может быть развернут на машине другого человека позже. Возможно ли это?
Я пытаюсь записать данные в XML-файл. Он работает правильно в Eclipse. Файл находится в папке ca/ism/wen/domain (вместе с моим user.java). Однако он выдает FileNotFoundException, когда я запускаю экспортированный исполняемый файл jar. Есть ли способ записать файл XML в файл jar? Ниже приведен мой код: [code]package ca.ism.wen.utils;
try{ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); dom = db.parse(filei); } catch (Exception e){ e.printStackTrace(); } }
public static Document getDom(){ return dom; }
public static void saveDom(){ try { TransformerFactory tf = TransformerFactory.newInstance(); Transformer trans = tf.newTransformer(); DOMSource ds = new DOMSource(dom); StreamResult sr = new StreamResult(fileo); trans.transform(ds, sr); } catch (Exception e){ throw new RuntimeException(e.getMessage(),e); } } } [/code] Если мне нужно разместить свой XML-файл где-то снаружи, я хочу получить работоспособный файл и поместить его в папку под всем моим проектом (как обычное программное обеспечение), потому что это может быть развернут на машине другого человека позже. Возможно ли это?