首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

java写入xml路径有关问题

2012-02-24 
java写入xml路径问题我用public static boolean doc2XmlFile(Document document,String filename){boolean

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根目录,你可以参考一下

热点排行