日期:2014-05-20 浏览次数:20945 次
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