java中如何从当前项目中读取运行另一项目中的配置文件?
目录结构如上图所示://测试代码publicclassTestConn{//Test1项目的main方法publicstaticvoidmain(String[]args...
目录结构如上图所示:
//测试代码
public class TestConn {
//Test1项目的main方法
public static void main(String[] args) throws Exception{
Test t = new Test();//Test项目中的类,Test1项目依赖于Test项目
t.out();//会打印输入Test项目中的DataAccess.xml配置文件路径,为D:\workspace\Test\DataAccess.xml
//此处从Test1项目中加载,打印输入了D:\workspace\Test1\DataAccess.xml出错,系统找不到指定的文件
}
}
错误提示:
D:\workspace\Test1\DataAccess.xml
org.dom4j.DocumentException: DataAccess.xml (系统找不到指定的文件。) Nested exception: DataAccess.xml (系统找不到指定的文件。)
at org.dom4j.io.SAXReader.read(SAXReader.java:266)
at com.sherp.test.DataAccess.<clinit>(DataAccess.java:24)
at com.sherp.test.Test.out(Test.java:7)
at com.mj.test.TestConn.main(TestConn.java:10)
Nested exception: 展开
//测试代码
public class TestConn {
//Test1项目的main方法
public static void main(String[] args) throws Exception{
Test t = new Test();//Test项目中的类,Test1项目依赖于Test项目
t.out();//会打印输入Test项目中的DataAccess.xml配置文件路径,为D:\workspace\Test\DataAccess.xml
//此处从Test1项目中加载,打印输入了D:\workspace\Test1\DataAccess.xml出错,系统找不到指定的文件
}
}
错误提示:
D:\workspace\Test1\DataAccess.xml
org.dom4j.DocumentException: DataAccess.xml (系统找不到指定的文件。) Nested exception: DataAccess.xml (系统找不到指定的文件。)
at org.dom4j.io.SAXReader.read(SAXReader.java:266)
at com.sherp.test.DataAccess.<clinit>(DataAccess.java:24)
at com.sherp.test.Test.out(Test.java:7)
at com.mj.test.TestConn.main(TestConn.java:10)
Nested exception: 展开
3个回答
展开全部
使用url统一资源定位符,前提是需要有访问文件的权限。
import java.io.File;
import java.net.URL;
import org.apache.commons.io.FileUtils;
public class DownloadURLFile {
/**
* @param args
*/
public static void main(String[] args) {
String res = downloadFromUrl("http://images.17173.com/2010/www/roll/201003/0301sohu01.jpg","d:/");
System.out.println(res);
}
public static String downloadFromUrl(String url,String dir) {
try {
URL httpurl = new URL(url);
String fileName = getFileNameFromUrl(url);
System.out.println(fileName);
File f = new File(dir + fileName);
FileUtils.copyURLToFile(httpurl, f);
} catch (Exception e) {
e.printStackTrace();
return "Fault!";
}
return "Successful!";
}
public static String getFileNameFromUrl(String url){
String name = new Long(System.currentTimeMillis()).toString() + ".X";
int index = url.lastIndexOf("/");
if(index > 0){
name = url.substring(index + 1);
if(name.trim().length()>0){
return name;
}
}
return name;
}
}
展开全部
问题在,你在new File的时候没有指定绝对路径
用程序获取的话,它获取的是当前项目的路径,所以输出D:\workspace\Test1\DataAccess.xml
而你的DataAccess.xml文件在Test下,所以报错
用程序获取的话,它获取的是当前项目的路径,所以输出D:\workspace\Test1\DataAccess.xml
而你的DataAccess.xml文件在Test下,所以报错
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果要运行另外一个项目的配置文件的吧 你必须在项目中对另外一个项目进行引用 也就是通过jar包或者webservice方式进行引用
更多追问追答
追问
已经直接引用关联上了.
追答
报的FileNotFoundException吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |