我得到一个包含jar文件当前目录中所有文件和文件夹的数组。
下一步,从用户获取字符串输入(文件名或文件夹...),
并在数组中搜索该字符串。像array.indexOf
这样的东西,如果存在,则打印文件的完整路径。
String workingDir = System.getProperty("user.dir");
System.out.println("Current working directory : " + workingDir);
System.out.println("Give Me The Name Of The File You Search In current Directory");
String specific = in.nextLine();
File f = new File(workingDir);
ArrayList<File> files = new ArrayList<File>(Arrays.asList(f.listFiles()));
System.out.println(files);
if (files.contains(specific)) {
System.out.println("File exsist");
}
我该如何进行下一步?
**解决了。谢谢
答案 0 :(得分:0)
所以你的代码应该是这样的,比较字符串的名称:
for (int i = 0; i < files.size(); i++){
File file = files.get(i);
if (file.getName().contains("yourFileName")){
System.out.println("File Exists");
}
}
答案 1 :(得分:0)
您正在寻找的是
if(files.get(x).getName().contains(fileString))
或完全回答:
for(File file : files){
if(file.getName().contains(specific)){
// process file
System.out.println("Full filepath is " + workingDir + "/" + specific);
}
}
编辑:
还要检查是否从未找到它:
boolean wasFound = false;
for(File file : files){
if(file.getName().contains(specific)){
// process file
System.out.println("Full filepath is " + workingDir + "/" + specific);
wasFound = true;
}
}
if (!wasFound) {
// File was not found, show an error
}
答案 2 :(得分:0)
如果要打印文件的完整文件路径,该文件的名称存储在&#34;特定的&#34;那么你应该做什么。
String workingDir = System.getProperty("user.dir");
System.out.println("Current working directory : " + workingDir);
System.out.println("Give Me The Name Of The File You Search In current Directory");
String specific = in.nextLine();
File f = new File(workingDir);
ArrayList<File> files = new ArrayList<File>(Arrays.asList(f.listFiles()));
System.out.println(files);
for (File file : files) {
if (file.getName().equals(specific)) {
System.out.println(file.getAbsolutePath());
}
}
答案 3 :(得分:0)
首先搜索字符串
您可以使用完整路径使用输入创建文件对象,因为ArrayList files
包含文件的完整路径。类似的东西:
File toCompare = new File(workingDir+System.getProperty("file.separator")+specific);
然后查看它是否存在于列表中:
if(files.contains(toCompare))
然后打印包含数组中字符串的完整文件路径 然后打印完整路径:
System.out.println(toCompare);
否则说没找到:
else
System.out.println("not found");
全部放在一起:
File toCompare = new File(workingDir+System.getProperty("file.separator")+specific);
if(files.contains(toCompare))
System.out.println(toCompare);
else
System.out.println("not found");