文件内容查找代码---Java

2018-08-09日,因为某些原因需要在css文件中查找某个内容,于是就自己写了个,大体内容是这样的,就是某些地方不符合规范

考虑到大家可能要参考并修改,就没插入代码行

代码的核心思想是文件遍历+文件名匹配+文件内容匹配,由于代码限制,做的是一行一行的匹配package com.wangpaidog.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class FileTest {

    public static void main(String[] args) {
        
FileTest.showFileName(
"E:\\JavaBase\\spaceManagement\\src\\main\\webapp", "login","css","jsp","java"); } /** * * @param path 传入文件目录 * @param findContent 传入查找内容 * @param filestyle 传入查找的文件格式 --其实是文件名包含的字段 */ public static void showFileName(String path, String findContent, String... filestyle) { File file = new File(path); if (file.exists() && file.isDirectory()) { // 判断目录存在 File[] files = file.listFiles(); if (files == null) { // 如果文件夹无权访问会返回空,文件可以用canRead() System.out.println("无权限访问目录"); return; } /* * 遍历输出文件 */ for (File file1 : files) { // 目录文件,继续迭代 if (file1.isDirectory()) { showFileName(file1.toString(), findContent,filestyle); } else if (file1.isHidden()) { // System.out.println("隐藏文件: " + file1.getName()); } else { // 可访问显式文件 // 这里设置了文件类型 for (String style : filestyle) { if ((file1.getName().indexOf(style) != -1)) { String str = file1.getPath(); try { // 调用函数查询 FileTest.findFile(str, findContent); } catch (Exception e) { e.printStackTrace(); System.out.println("出错了"); } } } } } } } /** * * @param filename 文件名称 * @param str 查找的内容 * @throws Exception */ private static void findFile(String filename, String findContent) throws Exception { File file = new File(filename); InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8"); BufferedReader buff = new BufferedReader(read); String linexTxt = null; // 用于放置读取到的每一行 int i = 0; // 用于记录找到的行数 while ((linexTxt = buff.readLine()) != null) { i++; if (linexTxt.indexOf(findContent) != -1) { System.out.println(filename + ":::::" + i); } } buff.close(); read.close(); } }

猜你喜欢

转载自www.cnblogs.com/wangpaidog/p/9453264.html