日期:2014-05-20 浏览次数:20758 次
import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; public class ReadFileName { private File f; private String path; private File[] list; public ReadFileName(){ f=null; path="H:\\CDMS\\Docs"; f=new File(path); //新建文件读取文件夹下面的文件名 list=f.listFiles(); } public ReadFileName(String url){ f=null; path="H:\\CDMS\\"+url; f=new File(path); //新建文件读取文件夹下面的文件名 list=f.listFiles(); } public void printFileName() { int i; for(i=0;i<list.length;i++) { System.out.println(list[i].getAbsolutePath()); } } public File[] GetFileListName() { return list;//返回文件名列表 } static public void main(String[] str)throws Exception{ ReadFileName rN=new ReadFileName("Docs"); rN.printFileName(); } }
import java.io.File; import ReadFileName.ReadFileName; public class MatchFileName { private ReadFileName RFN; private String InputFileName; private File[] list; public MatchFileName() { RFN=new ReadFileName(); list=null; } /** * @author Administrator * @param 匹配输入的文件名 */ public boolean MatchFilename(String name) { boolean bool=false; String s="H:\\CDMS\\Docs\\"+name; list=RFN.GetFileListName(); int i; for(i=0;i<list.length;i++) { if(list[i].getAbsoluteFile().equals(s)) { System.out.println(list[i].getAbsolutePath()); bool=true; } System.out.println(s); } return bool; } public static void main(String args[]) { MatchFileName MFN=new MatchFileName(); System.out.println(MFN.MatchFilename("A")); } }
public boolean MatchFilename(String name) { boolean bool=false; String s="H:\\CDMS\\Docs\\"+name; list=RFN.GetFileListName(); int i; for(i=0;i<list.length;i++) { if(list[i].getAbsoluteFile().equals(s))//这里为什么要用getAbsoluteFile 换成getAbsolutePath试试 { System.out.println(list[i].getAbsolutePath()); bool=true; } System.out.println(s); } return bool; }
------解决方案--------------------
好长,没看完,是遍历文件夹么?为什么不用isDirectory()方法呢?再结合if,不就可以了
------解决方案--------------------
if(list[i].getAbsolutePath().equals(new File(s).getAbsolutePath())) { //or if (list[i].getName().equals(new File(s).getName())) System.out.println(list[i].getAbsolutePath()); bool=true; } //getAbsoluteFile是获得该文件的绝对路径下的文件对象,如 File f1 = new File("xxx"); File f2 = f1.getAbsoluteFile(); //这里相当于File f2 = new File(f1.getAbsolutePath()); //getAbsolutePath是获得该文件的绝对路径的文字字符串,如当前文件 H:\test File f1 = new File("test"); String path = f1.getPath(); //这里获得的是 test 路径,是相对路径,相对于当前路径的路径 String abpath = f1.getAbsolutePath(); //这里获得的是 H:\test 路径,是绝对路径 //getName是获得文件名 File f1 = new File("H:\\test"); String name = f1.getName(); //这里获得的是文件的名字 test