读书人

java写入xml路径有关问题

发布时间: 2012-02-24 16:30:38 作者: rapoo

java写入xml路径问题
我用public static boolean doc2XmlFile(Document document,String filename){
boolean flag = true;
try
{
/** 将document中的内容写入文件中 */
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
/** 编码 */
//transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);
}catch(Exception ex)
{
flag = false;
ex.printStackTrace();
}
return flag;
}
方法把修改后的xml写进去,不知道怎么取相对路径。。

[解决办法]
可以编写一个java类取相对路径,然后在其他类中引用就好了。
我写了一个,你可以参考一下:

Java code
import java.net.URL; 


public class GetRealPath
{
public String getRealPath()
{
String strClassName = getClass().getName();
String strPackageName = "";
if (getClass().getPackage() != null) {
strPackageName = getClass().getPackage().getName();
}

String strClassFileName = "";
if (!"".equals(strPackageName)) {
strClassFileName = strClassName.substring(
strPackageName.length() + 1, strClassName.length());
} else {
strClassFileName = strClassName;
}

URL url = null;
url = getClass().getResource(strClassFileName + ".class");
String strURL = url.toString();
strURL = strURL.substring(strURL.indexOf('/') + 1, strURL
.lastIndexOf('/'));

strURL = strURL.substring(0, strURL.indexOf("WEB-INF")) + "fore/";
return strURL.replace("/", "\\");
}
}

[解决办法]
可以参考java jdk的api里面的java.lang.System 这个有getProperties方法是获取当前系统的一些属性的,可以使用这几个参数获取相应路径
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录
如果是在web项目中的话,如用tomcat做服务器的,可以用本省类就可以获取相应路径,
String base=new File(LandTimeChartAction.class.getResource("/").getPath()).getParent();
这个是我的一个项目用用到的一个,获取到WebRoot根目录,你可以参考一下

读书人网 >XML SOAP

热点推荐