我构建了 java web 应用程序。
我在我的类中编写了 1 个带有 2 个参数的函数。如果您将目录路径(.txt
保存文件的位置)和文件类型作为参数传递给该函数。它返回所有文件名,哪些文件具有指定的文件扩展名。
public List<File> ListOfFileNames(String directoryPath,String fileType)
{
//Creating Object for File class
File fileObject=new File(directoryPath);
//Fetching all the FileNames under given Path
File[] listOfFiles=fileObject.listFiles();
//Creating another Array for saving fileNames, which are satisfying as far our requirements
List<File> fileNames = new ArrayList<File>();
for (int fileIndex = 0; fileIndex < listOfFiles.length; fileIndex++)
{
if (listOfFiles[fileIndex].isFile())
{
//True condition,Array Index value is File
if (listOfFiles[fileIndex].getName().endsWith(fileType))
{
//System.out.println(listOfFiles[fileIndex].getName());
fileNames .add(listOfFiles[fileIndex]);
}
}
}
return fileNames;
}
我通过以下两种方式测试了这个功能。
情况1:
InputFiles
我在桌面上创建了文件夹名称并将文件放在.txt
文件InputFiles
夹下。
我通过以下方式将directoryPath
and.txt
作为参数传递给我的函数。它工作正常。
classNameObject.Integration("C:/Documents and Settings/mahesh/Desktop/InputFiles",".txt");
案例二:
现在我将我的文件夹放在InputFiles
文件夹下src
,并以下列方式作为参数传递directoryPath
。它不起作用。
classNameObject.Integration("/InputFiles",".txt");
为什么我要尝试案例 2,如果我想在另一个系统中处理相同的应用程序,每次我都不需要更改directorypath
。
在部署时也case 2
非常有用,因为我们不知道我们将在哪里部署应用程序。所以我试过case 2
它不起作用。
它在工作,当我提到绝对路径时。如果我提到 realPath 它不起作用。
我怎样才能解决这个问题。
你能解释清楚吗?
我希望,你明白我为什么要尝试案例 2。
谢谢。