gpt4 book ai didi

java - 文件路径未加载

转载 作者:行者123 更新时间:2023-11-28 22:30:40 24 4
gpt4 key购买 nike

我有一个运行 tomcat7 的 java 网络应用程序。我有一个呈现图像的 servlet。我正在尝试使用 File class .但是,当我这样调用 exists() 时它会返回 false

imageFile = new File(filesDir + "images/", id + "_" + size + "." + file_extension);

// Check if file actually exists in filesystem.
if (!imageFile.exists()) {
// render 404
}

我已将目录硬编码到代码中以确保它实际上指向文件。我正在使用“/usr/share/tomcat7/webapps/files/images/”目录。在阅读文件类的文档后,它指出:

“此目录由系统属性 user.dir 命名,通常是调用 Java 虚拟机的目录”。

如何给 java 加载这样的目录的权限?还是我应该有一个更好的目录来放置我的文件?

Edit "ps -ef | grep tomcat"

tomcat 16099 1 0 Nov22 ? 00:07:03 /usr/lib/jvm/jre/bin/java -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat7/temp -Djava.util.logging.config.file=/usr/share/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
root 18217 18179 0 18:00 pts/0 00:00:00 vi /usr/share/tomcat7/logs/catalina.out
root 18376 18364 0 18:11 pts/2 00:00:00 grep tomcat
root 22805 1 0 Sep10 ? 02:22:53 /opt/jasperreports-server-cp-5.2.0/java/bin/java -Djava.util.logging.config.file=/opt/jasperreports-server-cp-5.2.0/apache-tomcat/conf/logging.properties -Xms1024m -Xmx2048m -XX:PermSize=32m -XX:MaxPermSize=512m -Xss2m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/jasperreports-server-cp-5.2.0/apache-tomcat/endorsed -classpath /opt/jasperreports-server-cp-5.2.0/apache-tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/jasperreports-server-cp-5.2.0/apache-tomcat -Dcatalina.home=/opt/jasperreports-server-cp-5.2.0/apache-tomcat -Djava.io.tmpdir=/opt/jasperreports-server-cp-5.2.0/apache-tomcat/temp org.apache.catalina.startup.Bootstrap start

最佳答案

问题是@gmansoor 提到的。 tomcat 服务器没有访问该目录的权限。我将我的文件移动到“/var/lib/tomcat7/webapps/files/”。 webapps 文件夹在 catalina.properties 文件中指定。之后,我 chmod 777 允许 java 打开文件的文件目录。

关于java - 文件路径未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20223829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com