JSP页面有一段程序想要实现的功能如下:
在http://localhost:80/CollectWebContent/searchWeb/ 有两个文件:write.jsp 和 tempData.txt
现在我想在write.jsp中向当前项目中的tempData.txt写入一些信息
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String searchWebPath=basePath+"searchWeb/";
%>....BufferedWriter bw = new BufferedWriter((new FileWriter(new File(new URI(searchWebPath+"tempData.txt")))));.....
结果tomcat6.0控制台报错:
java.lang.IllegalArgumentException: URI scheme is not "file"我对URI这个类也不是很了解。
现在出现了问题,我想问下高手或者有经验的朋友,应该怎么办啊 ?
或者对于我现在这个程序的目的,你们是否有自己更好的实现方法,也不妨说出来,让我参考一下。
毕竟本人经验少,需要多向各位学习。
最后,谢谢各位朋友.

解决方案 »

  1.   

    String basePath = request.getSession().getServletContect().getRealPath();
    String searchWebPath=basePath+"searchWeb/";
      

  2.   

    TomCat?直接写文件就行了,为什么需要URL呢?
      

  3.   

    java.lang.IllegalArgumentException: URI scheme is not "file"  文件地址不对啊 文件不存在
      

  4.   

    楼主 可以参考 这里的写文件的操作http://blog.csdn.net/JavaAlpha/archive/2009/05/08/4161752.aspx
      

  5.   

    或者使用 log4j 配置到你的txt文件也行。
      

  6.   

    你这是以http开头的url路径,文件路径是以file开头的,你写文件的方式,应该是通过request去取得txt的真实文件路径!
      

  7.   

    后来我改成这样了:
    String basePath = application.getRealPath("\\");
    String searchWebPath=basePath+"searchWeb\\";我解决了我的问题了,结贴先。