public class FileTest {
public static void main(String[] args) {
/**
* 将目标目录封装成 File 对象。
*/
File dir = new File("/Users/zym/Desktop/Mac应用程序")
/**
* 获取目录下的所有文件和文件夹
*/
String[] names = dir.list()
for (String name : names) {
System.out.println(name)
}
}
}
通过文件过滤器获取某个目录下的文件,例如所有的 .txt、.doc文件。
过滤器:
import java.io.Fileimport java.io.FilenameFilter
public class FilterByDoc implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".doc")
}
}
获取某个目录下的按照过滤器规则的所有文件:
import java.io.Filepublic class FileTest {
public static void main(String[] args) {
/**
* 将目标目录封装成 File 对象。
*/
File dir = new File("/Users/zym/Desktop/Mac应用程序")
/**
* 通过过滤器获取目录下的所有的 .doc 文件
*/
String[] names = dir.list(new FilterByDoc())
for (String name : names) {
System.out.println(name)
}
}
}
希望能对您有所帮助!
如下代码使用递归算法遍历某个目录下的所有文件,并输出文件名
import java.io.Fileimport java.util.ArrayList
public class FileTest {
private static ArrayList<String> filelist = new ArrayList<String>()
public static void main( String[] args ) throws Exception
{
String filePath = "E://Struts2"
getFiles( filePath )
}
/*
* 通过递归得到某一路径下所有的目录及其文件
*/
static void getFiles( String filePath )
{
File root = new File( filePath )
File[] files = root.listFiles()
for ( File file : files )
{
if ( file.isDirectory() )
{
/*
* 递归调用
*/
getFiles( file.getAbsolutePath() )
filelist.add( file.getAbsolutePath() )
System.out.println( "显示" + filePath + "下所有子目录及其文件" + file.getAbsolutePath() )
}else{
System.out.println( "显示" + filePath + "下所有子目录" + file.getAbsolutePath() )
}
}
}
}
java获取文件名方法有三种代码如下展示:// 举例:
String fName =" G:\\Java_Source\\navigation_tigra_menu\\demo1\\img\\lev1_arrow.gif "
// 方法一:
File tempFile =new File( fName.trim())
String fileName = tempFile.getName()
System.out.println("方法一:fileName = " + fileName)
// 方法二:
fName = fName.trim()
// fileName = fName.substring(fName.lastIndexOf("/")+1)
// 或者
fileName = fName.substring(fName.lastIndexOf("\\")+1)
System.out.println("方法二:fileName = " + fileName)
// 方法三:
fName = fName.trim()
String temp[] = fName.split("\\\\")/**split里面必须是正则表达式,"\\"的作用是对字符串转义*/
//temp[] = [G:, Java_Source, navigation_tigra_menu, demo1, img, lev1_arrow.gif]
System.out.println("temp[] = " + Arrays.toString(temp))
fileName = temp[temp.length-1]
System.out.println("方法三:fileName = " + fileName)