java读取tomcat服务器文件_java – 战争webapp中的Tomcat服务器绝对文件访问

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

我现在的问题是我的webapp需要读取和写入文件,我无法知道如何实现这一点(文件I / O返回java.lang.NullPointerException).

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),所以我认为我可能不需要使用数据库来包含它们,如minus minus所示.

文件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、付费专栏及课程。

余额充值