问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java文件读写

发布网友 发布时间:2022-04-21 23:42

我来回答

5个回答

热心网友 时间:2022-04-11 04:15

实用的模糊(通配符)文件查找程序
1 import java.io.File;
2 import java.util.regex.Matcher;
3 import java.util.regex.Pattern;
4 import java.util.ArrayList;
5
6 /** *//**
7 * <p>Title: FileService </p>
8* <p>Description: 获取文件 </p>
9* <p>Copyright: Copyright (c) 2007</p>
10* <p>Company: </p>
11* @author not attributable
12* @version 1.0
13*/
14public class FileService {
15 public FileService() {
16 }
17
18 /** *//**
19 * 在本文件夹下查找
20 * @param s String 文件名
21 * @return File[] 找到的文件
22 */
23 public static File[] getFiles(String s)
24 {
25 return getFiles("./",s);
26 }
27
28 /** *//**
29 * 获取文件
30 * 可以根据正则表达式查找
31 * @param dir String 文件夹名称
32 * @param s String 查找文件名,可带*.?进行模糊查询
33 * @return File[] 找到的文件
34 */
35 public static File[] getFiles(String dir,String s) {
36 //开始的文件夹
37 File file = new File(dir);
38
39 s = s.replace('.', '#');
40 s = s.replaceAll("#", "\\\\.");
41 s = s.replace('*', '#');
42 s = s.replaceAll("#", ".*");
43 s = s.replace('?', '#');
44 s = s.replaceAll("#", ".?");
45 s = "^" + s + "$";
46
47 System.out.println(s);
48 Pattern p = Pattern.compile(s);
49 ArrayList list = filePattern(file, p);
50
51 File[] rtn = new File[list.size()];
52 list.toArray(rtn);
53 return rtn;
54 }
55
56 /** *//**
57 * @param file File 起始文件夹
58 * @param p Pattern 匹配类型
59 * @return ArrayList 其文件夹下的文件夹
60 */
61
62 private static ArrayList filePattern(File file, Pattern p) {
63 if (file == null) {
64 return null;
65 }
66 else if (file.isFile()) {
67 Matcher fMatcher = p.matcher(file.getName());
68 if (fMatcher.matches()) {
69 ArrayList list = new ArrayList();
70 list.add(file);
71 return list;
72 }
73 }
74 else if (file.isDirectory()) {
75 File[] files = file.listFiles();
76 if (files != null && files.length > 0) {
77 ArrayList list = new ArrayList();
78 for (int i = 0; i < files.length; i++) {
79 ArrayList rlist = filePattern(files[i], p);
80 if (rlist != null) {
81 list.addAll(rlist);
82 }
83 }
84 return list;
85 }
86 }
87 return null;
88 }
89
90 /** *//**
91 * 测试
92 * @param args String[]
93 */
94 public static void main(String[] args) {
95 }
96}

热心网友 时间:2022-04-11 05:33

这个需要用递归了
void findFile(File dir, String fileName, List<File>files)
{
if (dir == null || fileName == null || files == null)
return;

if (!dir.exists())
return;

File []filesInDir = dir.listFiles();

for (File file : filesInDir) {
if (!file.isDirectory()) {
if (file.getName().endWith(fileName))
files.add(file);
} else {
fileFile(file, fileName, files);
}
}
}

热心网友 时间:2022-04-11 07:08

就是文件查找功能。麻烦,要用递归。找出文件夹里的所有File对象循环是文件的比较文件名是文件夹的递归直道所有File都是文件或文件夹里没有File了返回

热心网友 时间:2022-04-11 08:59

给你个建议啊,使用递归,遍历B文件夹,判断是文件夹还是文件即可,用递归。

热心网友 时间:2022-04-11 11:07

我估计要一个文件夹一个文件夹的找了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
《Lycoris Recoil》泷奈千里走单骑救千束,她们还真有夫妻相 美少女、热兵器——起底《lycoris recoil》的流量密码 西方的饮茶礼仪 天津 大众卡 什么叫“大众卡是按天扣费的” iPhone发送短信技巧你知道吗 收不到手机短信验证码怎么解决? 人体一共有多少快骨头! 人体由多少块骨头组成其中头颅骨、躯干骨、四肢骨、各是多少._百度知 ... 电测量及电能计量装置设计技术规程内容简介 大家谁知道配电盘安装规范是什么 java文件操作删除某一目录下指定类型的文件,代码... java文件操作怎样从文件中读出数据然后写入到另外... Java怎么实现文件拷贝 Java 文件流操作 Java中对文件进行读写操作的基本类是什么? java 文件夹操作 Java读写文件的几种方法 java文件操作 JAVA文件操作问题 【高额奖赏】用java实现文件操作。 烫头有多少种烫法 完了.烫发烫毁了.怎么办 我被烫头药水烧伤了怎么办? 烫头发被药水烧伤头皮 朋友在学校烫头发被烫毁了怎么维权 额头被烫发计烫伤怎么处理 昨天去烫头发,结果额头这里被烫的药水弄伤了,是... 去理发店烫发,额头被烫伤,个人判断大概属于轻微... 烫头头皮烫出包怎么赔偿 烫头发额头被烫伤? 关于Java的文件操作,想知道有注释那一行为什么数... java读取、修改、写入txt文件 java 的文件保存和读取问题? java底层是怎样对文件操作的 怎样解决网页显示不全不完整问题? 怎样使网页显示完整 怎么把网页的显示都放在同一页上 怎么样将电脑网页都放在一起 怎么将网页显示全部? 怎样才能全面的看到网页? 为什么让网页在浏览器里显示全部 如何保存网页里全部内容 怎么把网页放大 怎么保存完整的网页,且能够缩放后不失真? 用键盘如何将网页放大? 怎么禁止手机自动连接某一wifi 如何在可连接WIFI列表屏蔽一个WIFI 怎样才能屏蔽别人的WiFi信号 笔记本电脑怎么忽略一个wifi 怎样屏蔽个别人蹭网