我想在我的基础上编辑此代码请帮助我。用户输入文件名然后在特定文件夹中搜索是否存在..
import java.io.*;
import java.util.*;
class FindFile
{
public void findFile(String name,File file)
{
File[] list = file.listFiles();
if(list!=null)
for (File fil : list)
{
if (fil.isDirectory())
{
findFile(name,fil);
}
else if (name.equalsIgnoreCase(fil.getName()))
{
System.out.println(fil.getParentFile());
}
}
}
public static void main(String[] args)
{
FindFile ff = new FindFile();
Scanner scan = new Scanner(System.in);
System.out.println("Enter the file to be searched.. " );
String name = scan.next();
System.out.println("Enter the directory where to search ");
String directory = scan.next();
ff.findFile(name,new File(directory));
}
}
请协助解决。
答案 0 :(得分:0)
您的问题不明确。
使用您的代码,您可以在特定文件夹中以及子文件夹
public static void main(String[] args) {
FindFile ff = new FindFile();
String name = "notepad.exe";
String directory ="C:\\Windows\\";
ff.findFile(name,new File(directory));
System.out.println("---------------");
}
输出:
C:\的Windows \ Notepad.exe的
C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE
C:\ WINDOWS \ Syswow64资料\ NOTEPAD.EXE
C:\ WINDOWS \ winsxs文件\ Amd64_microsoft窗口 - notepadwin_31bf3856ad364e35_6.1.7600.16385_none_9ebebe8614be1470 \ NOTEPAD.EXE .-----------------------------------------------
如果您要在一个文件夹(不是更深)中搜索文件 并且您使用 NOT 区分大小写操作系统
OP:
用户输入文件名然后在特定文件夹中搜索,如果存在或 不..
public static void main(String[] args) {
String filename = "notepad.exe";
String path ="C:\\Windows\\";
File f = new File(path+"\\"+filename);
if(f.exists() && f.isFile()) {
System.out.println(path+file+" : found");
}
System.out.println("---------------");
}
输出:
C:\ Windows \ notepad.exe:找到了 .---------------
如果您想在一个文件夹中搜索区分大小写的文件名
将findFile()代码更改为
public void findFile(String name,File file)
{
File[] list = file.listFiles();
if(list!=null) {
for (File fil : list)
{
if (name.equalsIgnoreCase(fil.getName()))
{
System.out.println(fil.getParentFile()+"\\"+name);
}
}
}
}
<强>更新强>
将它放在您的主要内容中,并将搜索字词替换为您要查找的内容。
public static void main(String[] args) {
String filename = "notepad.exe";
String path ="C:\\Windows";
File f = new File(path+"\\"+filename);
if(f.exists() && f.isFile()) {
System.out.println(path+filename+" : found");
} else {
System.out.println(path+filename+" : not found");
}
}
更新2
查看你的代码 有三个新组件
<强> jButton3
jsearchText
jLabel3 强>
您可以使用它并将其展开到您自己的“表单对话框”。
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
searchtext = jsearchText.getText();
File f = new File(searchtext);
if(f.exists() && f.isFile()) {
jLabel3.setText("found : "+searchtext);
} else {
jLabel3.setText("not found : "+searchtext);
}
}
更新3
对于您的问题:使用多分机进行检查
public static void main(String[] args) {
String fullPath;
String pathSeparator = "\\";
String extSeparator = ".";
String path = "U:\\Grafik\\Stack\\testExt\\";
String filename = "Pic24.gif";
String searchtext;
String[] elements = { ".jpg",".png",".jpeg"};
fullPath = path+filename;
int dot = fullPath.lastIndexOf(extSeparator);
searchtext = fullPath.substring(0, dot);
for (String s: elements) {
File f = new File(searchtext+s);
if(f.exists() && f.isFile()) {
System.out.println("found : "+searchtext+s);
} else {
System.out.println("not found : "+searchtext+s);
}
}
}
}