我有一个文件夹用户里面我有这么多文件具有相同的扩展名。 我想找到所有用户文件名,其查询是过滤器。
在下面的代码中,我如何检索所有等于查询过滤器的文件。
public Collection<User> findUsers(String filter) {
List<User> filteredList = new ArrayList<User>();
try {
FileInputStream fileInputStream = new FileInputStream( "Path of file" );
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Object object = objectInputStream.readObject();
while (object.equals(filter)) {
filteredList.add((User)object);
object = objectInputStream.readObject();
}
objectInputStream.close();
}
catch(Exception ioEx){
//..............
}
}
return filteredList;
}
感谢您的帮助。
答案 0 :(得分:0)
第1步: 获取文件名
File folder = new File("your/path");
File[] listOfFiles = folder.listFiles();
第2步:在某些集合对象中存储名称 第3步:遍历集合对象并找到您想要的任何过滤器
现在,您的问题是创建这样的过滤器吗?
答案 1 :(得分:0)
以下是帮助您的小片段:
File folder = new File("/Users/you/folder/");
File[] listOfFiles = folder.listFiles();
List<String> filteredList = new ArrayList<String>();
for (File file : listOfFiles) {
// Be aware that folder.listFiles() give list with directories and files
if (file.isFile()) {
System.out.println(file.getName());
// apply your filter. for simplicity I am equating the file names
// name refers to input variable to method
if(file.getName().toLowerCase().contains(name.toLowerCase())) {
// create user object and add it to list.
// Change below line with appropriate constructor params
filteredList.add(file.getName())
}
}
}