tomcat服务器访问文件,战争Webapp中的Tomcat服务器绝对文件访问

我有一个Spring webapp,其.war文件已上传到Tomcat服务器。大多数基本功能均按预期工作-页面视图和表单提交。

我现在的问题是我的Web应用程序需要读取和写入文件,而我对如何实现这一点一无所知(文件I /

O返回java.lang.NullPointerException)。

我使用以下代码来获取TitiWangsaBinDamhore建议的给定文件的绝对路径,以了解相对于服务器的路径:

HttpSession session = request.getSession();

ServletContext sc = session.getServletContext();

String file = sc.getRealPath("src/test.arff");

logger.info("File path: " + file);

这是输出路径:

/home/username/tomcat/webapps/appname/src/test.arff

但是,当我通过WinSCP检查文件目录时,文件的实际路径为:

/home/username/tomcat/webapps/appname/WEB-INF/classes/test.arff

这是我的问题 :

我如何将这些路径转换为类似的东西C:/Users/Workspace/appname/src/test.arff(本地机器上的原始路径可以正常工作)?服务器是Apache Tomcat 6.0.35和Apache Tomcat 6.0.35。

为什么代码返回的路径与实际路径不同?

如果文件I / O不适用,我可以使用哪些替代方法?

PS

我只需要访问两个文件(<1MB的每个),所以我不认为我可能需要使用数据库中包含他们所建议减去在此线程。

文件I / O

以下是用于访问所需文件的代码。

BufferedWriter writer;

try {

URI uri = new URI("/test.arff");

writer = new BufferedWriter(new FileWriter(

calcModelService.getAbsolutePath() + uri));

writer.write(data.toString());

writer.flush();

writer.close();

} catch (IOException e) {

e.printStackTrace();

} catch (URISyntaxException e) {

e.printStackTrace();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值