gpt4 book ai didi

java - 在 apache tomcat 7.0 服务器上部署时读取目录返回 null

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

我正在尝试读取网络上的文件夹并检索 txt 文件列表。在 Eclipse 中进行本地测试时,它工作正常,但是每当我将它部署在 Apache Tomcat 7 服务器上时,它都会返回 null。

这似乎不是访问权限问题,因为服务器可以访问我正在尝试浏览的文件夹。我不确定那里出了什么问题,是我需要更改服务器上的设置还是其他什么?

private List<File> readDirectory() {
File test = new File(envMap.get(database));
List<File> files = new ArrayList<File>();
try {
files = FileListing.getFileListing(test);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List<File> txtFiles = new ArrayList<File>();
if (files != null) {
for (File file : files) {
if (file.isFile() && file.getName().endsWith(".txt")) {
txtFiles.add(file);
}
}
}
return txtFiles;
}

我用了这个http://www.javapractices.com/topic/TopicAction.do?Id=68对于 FileListing.getFileListing

仔细检查后发现我收到了 FileNotFoundException: Directory does not exist。该目录确实存在并且服务器对其具有访问权限,所以我不确定该怎么做。

最佳答案

files 不能为 null。您的代码使用

static private List<File> getFileListingNoSort(File aStartingDir) throws FileNotFoundException {
List<File> result = new ArrayList<File>();
File[] filesAndDirs = aStartingDir.listFiles(); // may return null
List<File> filesDirs = Arrays.asList(filesAndDirs); // would throw NPE
for(File file : filesDirs) {
result.add(file);
if (!file.isFile()) {
//must be a directory
List<File> deeperList = getFileListingNoSort(file);
result.addAll(deeperList);
}
}
return result;
}

您确定向我们展示了正确的代码吗?

关于java - 在 apache tomcat 7.0 服务器上部署时读取目录返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18613885/

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