当前位置:网站首页>FilenameFilter filters filenames
FilenameFilter filters filenames
2022-08-09 16:03:00 【Yunhaigutian】
Foreword:
File IO is a feature of programming languages. This article will test Java's File filename filtering.
Screenshot of test directory:
Test results:
data.txtoutput-3.txtoutput-4.txtoutput-d.txtpeople-id.txtqqmusic_cn_seed.txttext-a20.txt---finish ----Version 1: Interface inheritance
package com.yeezhao.common.io.v1;import java.io.File;import java.io.FilenameFilter;import java.util.regex.Pattern;public class MyFilenameFilter implements FilenameFilter {final static String REGEX = ".*\\.txt";@Overridepublic boolean accept(File dir, String name) {return Pattern.matches(REGEX, name);}}package com.yeezhao.common.io.v1;import java.io.File;import java.util.Arrays;public class FilenameFilterV1 {public static void main(String[] args) throws Exception{System.out.println("--- start ----");File file = new File("c://test");String[] list = file.list(new MyFilenameFilter());Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); //Ignore string case for dictionary sortingfor(String l:list){System.out.println(l);}System.out.println("--- finish ----");}}Version 2: Inner class initializes inner object properties
package com.yeezhao.common.io.v2;import java.io.File;import java.io.FilenameFilter;import java.util.Arrays;import java.util.regex.Pattern;public class FilenameFilterV2 {private static String REGEX = ".*\\.txt";private static FilenameFilter filter = new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return Pattern.matches(REGEX, name);}};public static void main(String[] args) throws Exception {File file = new File("c://test");String[] list = file.list(filter);Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); //Ignore string case for dictionary sortingfor (String l : list) {System.out.println(l);}System.out.println("--- finish ----");}}Version 3: inner classes directly call methods
package com.yeezhao.common.io.v3;import java.io.File;import java.io.FilenameFilter;import java.util.Arrays;import java.util.regex.Pattern;public class FilenameFilterV3 {private static String REGEX = ".*\\.txt";public static void main(String[] args) {File file = new File("c://test/");String[] list = file.list(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return Pattern.matches(REGEX, name);}});Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); //Ignore string case for dictionary sortingfor (String l : list) {System.out.println(l);}System.out.println("--- finish ----");}}Attachment: list() method of File object
Afterword:
Java.io involves quite a lot of tool classes. I hope to get started with some of the content of java.nio after research and compare it!
边栏推荐
猜你喜欢

Docker安装MySQL详细步骤

结合实际聊聊电平转换电路(常用电平转换电路总结)

暴雨天,看天翼云如何“快准稳”防涝

C语言——指针和数组、指针数组和数组指针、指针和二维数组

Shell programming loop statement

Startup error: Caused by: org.apache.ibatis.binding.BindingException summary solution

运维--常用中间件

What is the difference between the four common resistors?

C语言程序设计笔记(浙大翁恺版) 第九周:指针

08-Lock版的生产者消费者问题
随机推荐
DSPE-PEG-Aldehyde, DSPE-PEG-CHO, Phospholipid-PEG-Aldehyde MW: 1000
my creative day
C语言程序设计笔记(浙大翁恺版) 第八周:数组
.NET现代应用的产品设计 - DDD实践
C语言——指针和数组、指针数组和数组指针、指针和二维数组
Mind map FreeMind installation problems and simple use
【消息中心】架构准备
【STM32】TCL2543CN 12位11通道ADC芯片stm驱动程序,使用32自带SPI实现
道路形态(道路要素)
[LeetCode] 485.最大连续 1 的个数
C语言程序设计笔记(浙大翁恺版) 第二周:计算
C语言程序设计笔记(浙大翁恺版) 第十周:字符串
shell提取ip地址
Redis 面试题
卷积神经网络表征可视化研究综述(1)
Selenium - 如何用xpath快速定位路径?
Computer Graphics From Scratch - Chapter 5
R7 6800H标压处理器+RTX 3050独显 无畏Pro15锐龙版高能开卖
C语言程序设计笔记(浙大翁恺版) 第三周:判断
len()的使用