이 기사는 Java 파일 작업 및 파일 필터(예제 포함)에 대한 소개를 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Java는 파일을 작업할 수 있도록 File 클래스를 제공합니다. FIle은 파일이나 폴더의 추상 표현, 즉 객체 표현입니다. 일반적으로 사용되는 여러 가지 방법을 요약했습니다.
File(File parenrt,String child), FIle(String pathname), File(String parent,String child), 세 가지 구조 함수는 다음과 같습니다. 다양한 방식으로 인스턴스화됩니다.
getAbsolutePath(): 이 파일 또는 폴더의 절대 경로를 반환합니다.
getName(): 반환 이 폴더 또는 파일의 이름
getPath(): 구성의 매개변수
#🎜🎜인 이 폴더 또는 파일의 표현을 반환합니다. 매개변수 #파일 필터:
public interface FilenameFilter { boolean accept(File dir, String name); }
FileFilter 필터, 매개변수 pathname은 파일의 FIle 객체이며 이를 통해 파일의 모든 속성을 가져올 수 있습니다(예: pathname.getName). ()는 파일 이름으로, 간접 FIlenameFilter로 변환될 수 있습니다. 강력한
public interface FileFilter { boolean accept(File pathname); }
import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; /** * 自定义的局部内部类来自定义过滤器类, */ public class Generics { //自定义过滤器类实现FilenameFilter接口 static class MyFilenameFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { return name.endsWith(".java");//只获取.java结尾的文件或目录 } } //自定义过滤器类实现FileFilter接口 static class MyFileFilter implements FileFilter{ @Override public boolean accept(File pathname) { return pathname.getName().endsWith(".java");//只获取.java结尾的文件或目录 } } public static void main(String[] args) { File file =new File("D:"); //方式一:FileFilter过滤器 File[] files=file.listFiles(new MyFileFilter()); for (File f:files){ System.out.println(f.getName()); } //方式二:FilenameFilter过滤器 File[] files2=file.listFiles(new MyFilenameFilter()); for (File f:files2){ System.out.println(f.getName()); } //list()函数只能接受FilenameFilter对象,匿名内部类的形式实现, //或者可以理解为为什么既然有FileFilter,而还要FilenameFilter // 1.对于listFiles来说,FilenameFilter可以直接操作name,而不需要通过File对象获取 // 2.对于list来说,它只能是FilenameFilter过滤器,因为得到的是String,已经不是File了 String[] filenames = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(".java"); } }); for(String str:filenames){ System.out.println(str); } } }
위 내용은 Java 파일 작업 및 파일 필터 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!