JAVA正则表达式过滤文件

java正则表达式 过滤特殊字符的正则表达式 立即下载

    正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式

 

1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)

String filePattern = "/data/logs/.+\\.log";
File f = new File(filePattern);
File parentDir = f.getParentFile();
String regex = f.getName();
FileSystem FS = FileSystems.getDefault();
final PathMatcher matcher = FS.getPathMatcher("regex:" + regex);

DirectoryStream.Filter<Path> fileFilter = new DirectoryStream.Filter<Path>() {
    @Override
    public boolean accept(Path entry) throws IOException {
        return matcher.matches(entry.getFileName()) && !Files.isDirectory(entry);
    }
};

List<File> result = Lists.newArrayList();
try (DirectoryStream<Path> stream = Files.newDirectoryStream(parentDir.toPath(), fileFilter)) {
    for (Path entry : stream) {
        result.add(entry.toFile());
    }
} catch (IOException e) {
    e.printStackTrace();
}
for(File file : result) {
    System.out.println(file.getParent() + "/" + file.getName());
}

 

2、适用于路径确定,文件名正则表达式的情况,这种正则表达式是JAVA支持的表达式,而非系统(unix)文件系统表达式(jdk8写法)

Path path = Paths.get("/data/logs");
Pattern pattern = Pattern.compile("^.+\\.log");
List<Path> paths = Files.walk(path).filter(p -> {
    //如果不是普通的文件,则过滤掉
    if(!Files.isRegularFile(p)) {
        return false;
    }
    File file = p.toFile();
    Matcher matcher = pattern.matcher(file.getName());
    return matcher.matches();
}).collect(Collectors.toList());

for(Path item : paths) {
    System.out.println(item.toFile().getPath());
}

 

java比较文件_读取输出文件_正则表达式匹配 比较2个文件的内容,输出不一样的部分 涉及到的重要知识点有: 1.java读取文件,输出文件 2.java正则表达式匹配* 2个文件内容是:中文 英文,然后分别比较中文部分和英文部分,文件内容如下: 520香烟 520cigarette 678月 678yue A-zone A-zone A.O.史密斯 AOsms ACE床垫 ACE AOL时代华纳 Time Warner BMG唱片 Bertelsmann Music Gr BRAPPERS BRAPPERS Costa咖啡 Costa Coffee 唐娜·凯伦 Donna Karan New York 立即下载

相关推荐

利用正则表达式通配检索文件

啥也不说了,不好用请联系我!

Linux使用正则表达式拷贝文件,拷贝目录 并根据正则表达式排除指定目录/文件...

# https://zohead.com/archives/linux-copy-directory-ignore-files/# find 的 -regextype 参数指定正则表达式类型,posix-egrep 为 egrep 用的扩展正则表达式,-mindepth 使 find 的输出中不包括目录本身,-regex 参数指定过滤的文件的正则表达式,-regex 前面的感叹号表示跳过,'./(...

weixin_39884738的博客 1243

腾讯WeKnora开源了!手把手教你用Docker+Ollama本地部署多模态知识库(附避坑指南)

本文详细介绍了腾讯开源的多模态知识库工具WeKnora的本地部署方法,通过Docker和Ollama实现完全离线运行。文章包含环境准备、核心组件配置、Ollama模型集成、系统启动验证及高级性能调优等实战内容,特别适合需要构建私有化知识库的中小团队和个人开发者。

weixin_30664051的博客 479

java正则表达式过滤

//fullName代表正则表达式 正则表达式过来操作 Pattern pattern =Pattern.compile(fullName); for (int i = 0; i < deptInfoList.size(); i++) { Matcher matcher =pattern.matcher(deptInfoList.get(i).getDeptName()); if (matcher.find()){ responseList.add(d

qq_38328566的博客 845

基于Xilinx Artix7 的FPGA高级应用 (二):千兆以太网通信(实战篇)第一期

本项目是基于Xlinx Artix7 XC7A35T芯片 以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII 开发工具是vivado 2018.3 我们先来复习一下以太网的基本通信原理: 当我们的计算机需要与局域网中另外的设备进行通信的时候,需要将数据传输到网卡进行编码,然后传输到线上,经过另一个设备的网卡解码成该设备能读取的数据。 关于以太网协议的知识在原理篇中已经讲过,不再重复,下面直接看接收代码: 首先注意我们的MAC和PHY通信选择的是GMII接口标准,发送数据一

工大技术底层人员的博客 4034

对数周期天线hfss建模_Ansoft HFSS 在设计对数周期天线时的仿真方法-HFSS教程

AnsoftHFSS在设计对数周期天线时的仿真方法文章来源: ANSYS 2011中国用户大会优秀论文 录入: mweda.com 点击数:【摘要】 本文通过 ANSOFT HFSS 设计了一个对数周期天线,在仿真分析时,发现随着求解频率的不同,天线的求解结果差别较大,求解误差较大。通过在 HFSS 中尝试不同的求解设置方法, 最终通过将天线模型剖分网格最大长度限定在 1/50λ的...

weixin_42186728的博客 2099

Linux查找文件时如何排除特定目录?

摘要:本文介绍了在Linux系统中查找文件时排除特定目录的技术方法。分析了排除特定目录的重要性,指出其可避免敏感数据泄露风险。文章提供了三种技术解决方案:使用正则表达式匹配、路径操作符排除以及提升系统安全性,并强调操作前需了解目录结构、谨慎执行排除操作并做好数据备份。这些方法能有效解决文件查找中的目录排除问题,同时确保系统安全和数据合规性。

searchboy2025的博客 114

用STM32手搓一个体温计

市面上大多额温计、测温计精度。

m0_61687959的博客 2375

java正则表达式过滤_JAVA正则表达式过滤文件的实现方法

JAVA正则表达式过滤文件的实现方法正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)String filePattern = "/data/logs/.+\\.log";File f = new File(filePattern);File parentDir = f.getParentFile...

weixin_39606118的博客 706

Vivado Combinatorial Loop Alert问题 [DRC LUTLP-1]

Vvado综合和布局布线都通过了但是无法生成bit文件,提示Combinatorial Loop Alert,错误如下图。在RTL图中可以看到LUT的输出连接到了输入上,这个就是。在代码中我并未找到导致这种情况发生的地方,如果遇到类似的问题先检查自己的代码是不是存在组合逻辑连接出现了问题,如果没问题再考虑通过设置去解决问题。

伊丽莎白的学习之路 6031

使用ClickHouse JDBC官方驱动,踩坑无数

这个问题我在网上查原因说是由于Zookeeper压力过大,表变成只读状态,导致ClickHouse插入数据失败。写入数据频率过高。Zookeeper中的集群节点挂掉。而我们项目出现这个问题的原因是第一个:写入数据频率过高。但是在网上搜资料的过程中,我又发现了另外一个问题:我们项目用了JDBC驱动,但ClickHouse官方并不推荐。。证实了官网确实不建议使用驱动:而应该改成驱动,并且推荐使用0.3.2以上的版本:于是,后面几天开始了ClickHouse的JDBC驱动升级之旅。

2万+

java正则表达式的筛选使用

java正则表达式的筛选使用 前置概念 Java 正则表达式中主要使用regex包中的类。 java.util.regex 包主要包括以下三个类: Pattern 类: pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。 Matcher 类: Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类

雨名无的博客 1282

MTK AWB 色温曲线的进一步猜想

平均距离来判断是否对该色温下白平衡进行全部收白处理,还是保留一些光源的本身的颜色。比如占据图像一大半左右的纯色背景,纵坐标值相对横坐标的距离应该会比较大,大于一般场景下的正常白点分布。反之,位于Plank_curve下方位置的点具有偏洋红色的倾向。此时拟合各个色温下的白点,拟合曲线大致是以X= 0.85)平行于横轴的一条直线。对原始坐标系中的点取对数后的Log坐标系空间。此时拟合各个色温下的白点,拟合曲线大致呈现的是一条直线。,可以认为是各种色温下白点分布所呈现的走向。的算法利用某个色温点的偏离。

大熊 722

java 文件过滤 正则,JAVA正则表达式过滤文件的实现方法

JAVA正则表达式过滤文件的实现方法发布时间:2020-09-06 18:32:57来源:脚本之家阅读:102作者:QING____JAVA正则表达式过滤文件的实现方法正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)String filePattern = "/data/logs/.+\\.lo...

weixin_34365489的博客 826

prplOS amx-fxgi调试-订阅subscribe

本文分析了prplOS中amx-fxgi订阅功能(subscribe)的实现与调试过程。通过梳理订阅流程发现,默认订阅失败主要由于acl规则限制导致。文章详细介绍了订阅的两个关键步骤:建立GET长连接和POST设置订阅路径,并通过修改代码绕过acl验证成功实现订阅功能。最终验证了在同一连接下订阅多个路径及实时接收状态更新的可行性,有效降低了设备查询负载。该方案为prplOS的实时数据监控提供了优化思路。

四儿家的小祖宗的博客 330

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java列出文件正则过滤_JAVA正则表达式过滤文件的实现方法

java正则表达式过滤文件的实现方法正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)String filePattern = "/data/logs/.+\\.log";File f = new File(filePattern);File parentDir = f.getParentFile...

weixin_34496367的博客 202

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java 超大文件 正则_JAVA正则表达式过滤文件的实现方法

JAVA正则表达式过滤文件的实现方法正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)String filePattern = "/data/logs/.+\\.log";File f = new File(filePattern);File parentDir = f.getParentFile...

weixin_39858298的博客 172

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java列出文件正则过滤_java – 通过定义正则表达式来过滤日志文件

我有一些巨大的日志文件(50Mb; ~500K行)我需要开始过滤掉一些垃圾.使用log4j生成日志文件,其基本模式为:[log-level] date-time class etc, etclog-message我正在寻找一种方法,我可以识别正则表达式开始和正则表达式结束(或类似的东西),将过滤掉文件中的匹配条目,以便我可以更轻松地浏览这些大量文件.我的想法是,开始正则表达式将是日志级别,最终正则...

weixin_42361283的博客 340

java列出文件正则过滤_Java中正则表达式实现过滤文件的方法

这篇文章主要介绍了JAVA正则表达式过滤文件的实现方法的相关资料,希望通过本文大家能够掌握理解这部分内容,需要的朋友可以参考下JAVA正则表达式过滤文件的实现方法正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)String filePattern = "/data/logs/.+\\.log";...

weixin_36481714的博客 554

java 文件过滤出中文_Java中过滤出字母、数字和中文的正则表达式

1、Java中过滤出字母、数字和中文的正则表达式(1)过滤出字母的正则表达式[^(A-Za-z)](2)过滤出数字的正则表达式[^(0-9)](3)过滤出中文的正则表达式[^(\\u4e00-\\u9fa5)](4)过滤出字母、数字和中文的正则表达式[^(a-zA-Z0-9\\u4e00-\\u9fa5)]2、实例源码/*** @Title:FilterStr.java* @Package:com...

weixin_30590247的博客 253

java的文件过滤filter_34 java 文件过滤 FileFilter

package com.da.tool.util;import org.apache.commons.io.filefilter.RegexFileFilter;import java.io.File;import java.io.FileFilter;import java.io.FilenameFilter;/*** java 的 FileFilter和FilenameFilter测试使用*/...

weixin_28968629的博客 272

java文件名过滤器_文件名过滤器FilenameFilter的用法

Java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件;实例1,匹配指定字符结尾的文件package cn.test;import java.io.File;import java.io.FilenameFilter;import org.junit.Test;public class Demo4 {@Testpublic void test1(...

weixin_39720510的博客 1080

java正则表达式过滤特殊字符_java正则表达式 过滤特殊字符的正则表达式

java正则表达式 过滤特殊字符的正则表达式博客分类:http://dsds//gfgffdfd>fdf");StringBuffer buffer = new StringBuffer();while(matcher.find()){buffer.append(matcher.group());buffer.append("\r\n");System.out.println(buffer....

weixin_28697921的博客 328

java过滤文件方法

在实际项目中,经常要过滤文件,下面是过滤txt文件的方法。其实很简单,就是利用java里的Pattern类即可过滤出来,注意的是正则表达式要正确规范。 public class FilterTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated me...

YANGYYID的博客 827
上一篇: nginx/tomcat日志格式规范
shift_alt_ctrl
博客等级 码龄10年 0粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值