Jmouse.JFiles 类

Jmouse.JFiles 是一种改进的文件搜索工具,它解决了使用 Directory 类搜索文件时遇到的权限问题。通过自定义错误处理和灵活的搜索选项,此工具能够有效地遍历文件系统。
Jmouse.JFiles
空间名称:
Jmouse
类:JFiles
成员:JSearchOptions, JPatternOptions
方法:SetDirMethod, SetFileMethod, SetErrorMethod (+2 次重载), Search (+4 次重载)

此类是针对于 Directory 类的 GetFilesGetDirectories 方法的一种完善。
当我们在使用 Directory 类的  GetFilesGetDirectories 方法时,如果使用了 SearchOption.AllDirectories 来搜索子目录,则当 path 参数为卷时会出现“ 在 System.UnauthorizedAccessException 中第一次偶然出现的“mscorlib.dll”类型的异常”的 UnauthorizedAccessException 异常,这是因为当程序试图访问卷下的 System Volume Information 及其它无权访问的文件夹时发生了权限错误,而使用 Jmouse.JFiles 在对文件进行搜索时避开了该问题,并且程序员可以使用 SetErrorMethod 方法对异常进行自定义处理。

在 Jmouse.JFiles 中的成员:
JSearchOptions设置搜索范围
JPatternOptions当使用 searchPattern 查找特定文件时,决定 searchPattern 的适用范围





在 Jmouse.JFiles 中的方法:
SetDirMethod需要重写,此方法可以得到并处理所有文件夹的绝对路径
SetFileMethod需要重写,此方法可以得到并处理所有文件的绝对路径
SetErrorMethod 需要重写,此方法可以得到并处理在搜索过程中发生的异常 (+2 次重载)
Search 此方法用来搜索文件及文件夹,并返回出错文件及文件夹的个数 (+4 次重载)








*关于方法的参数和重写规则可以通过 查看 Jmouse.JFiles 的源码来获取
*对于 Search 参数中的所有参数,除 JSearchOptions 和 JPatternOptions 外均与原 Directory 类中的 GetFiles 和 GetDirectories 方法的参数要求或格式相同。

示例(C#):
using  System;
using
 System.Collections.Generic;
using
 System.Text;
using
 System.IO;
using Jmouse; //引用 Jmouse 空间


namespace  MyConsole
{
    
class
 MyClass
    
{
        
static void Main(string
[] args)
        
{
            newJFiles clsJFiles 
= new
 newJFiles();
            
//搜索并显示所有文件及文件夹

            Console.WriteLine(" 搜索完毕,共有 {0} 个文件及文件夹在搜索中发生了错误。",
                clsJFiles.Search(
"C://"
).ToString());
            
//搜索并显示根目录下的所有文件及文件夹

            Console.WriteLine(" 搜索完毕,共有 {0} 个文件及文件夹在搜索中发生了错误。",
                clsJFiles.Search(
"C://"
,
                JFiles.JSearchOptions.OnlyTopDirectory).ToString());
            
//搜索并显示所有以 "J" 开头的文件及文件夹

            Console.WriteLine(" 搜索完毕,共有 {0} 个文件及文件夹在搜索中发生了错误。",
                clsJFiles.Search(
"C://"
,
                
"J*"
,
                JFiles.JPatternOptions.Both).ToString());
            
//搜索并显示所有根目录下以 "J" 开头的文件

            Console.WriteLine(" 搜索完毕,共有 {0} 个文件及文件夹在搜索中发生了错误。",
                clsJFiles.Search(
"C://"
,
                
"J*"
,
                JFiles.JPatternOptions.OnlyFiles,
                JFiles.JSearchOptions.OnlyTopDirectory).ToString());
            
//构建一个错误,".."是非法字符

            Console.WriteLine(" 搜索完毕,共有 {0} 个文件及文件夹在搜索中发生了错误。",
                clsJFiles.Search(
"C://"
,
                
".."
,
                JFiles.JPatternOptions.Both).ToString());
        }

    }


    
public class newJFiles : JFiles
    
{
        
/*newJFiles 派生自 Jmouse.JFiles,并重写所有方法来列出搜索到的
        文件、文件夹以及搜索中出现的错误
*/


        
protected override void SetDirMethod(string[] path)
        
{
            
if (path.Length > 0
)
            
{
                
for (int j = 0; j < path.Length; j++
)
                
{
                    Console.WriteLine(path[j]);
                }

            }

        }


        
protected override void SetFileMethod(string[] path)
        
{
            
if (path.Length > 0
)
            
{
                
for (int j = 0; j < path.Length; j++
)
                
{
                    Console.WriteLine(path[j]);
                }

            }

        }


        
protected override void SetErrorMethod(string path, 
            Exception e)
        
{
            Console.WriteLine(
" 错误:{0}"
, e.Message);
        }


        
protected override void SetErrorMethod(string path,
            
string
 searchPattern, Exception e)
        
{
            Console.WriteLine(
" 错误:{0}"
, e.Message);
            Console.WriteLine(
"这可能是由于您使用的 {0} 字符中包含了非法字符。"

                , searchPattern);
        }

    }

}

此文章适用于 Windows Vista, Windows XP, Windows 2000, Windows NT, Windows ME, Windows 98, Windows 95
哇塞电影网址大全,吸取了以往各种导航网址程序的优点,最大程度的完善优化了各项功能和指标,采用谁对我站贡献大,我站也给予他宣传和展示的机会就越多的流量交换模式,只要您在本系统注册登记您的网址,然后在你网站做好我站连接或是挂上流量互换代码,每次您网站有用户访问到放置我站流量互换代码的站,那么你的网站将在最近入站以及你网站所在分类的第一位置!连接双方公正平等。系统前台简介:1.采用ASP+ACCESS架构,安全稳定,防注入功能;2.新闻文章发布功能支持无限级分类,方便自由;3.数据库经过防下载等安全处理,后台可超强命名,随意改动;4.每来访一个IP,来访网站就会自动排到第一,当天来路不同,显示颜色也不同,鼓励点入;5.前台统计数据调用,最新点入网站调用,未审核网站调用等;6.申请加入电影网址大全的网站按最后点进的时间排序首页和分类显示链接;7.分类以昨日点入时间为准,每晚十二点后生成静态;8.每来访一个IP,就会自动排到第一,当天来路次数不同,显示颜色也不同:有1次即显示,10次即套蓝色,30次即套红色加粗;9.首页白天3分钟,晚上5分钟自动更新一次,全站24小时手动更新一次;10.站内搜索功能,方便用户到自己想要的网址;11.程序全面优化和升级,增强对搜索引擎的收录功能;12.流量互换功能,最大程度互换流量。系统后台功能详细说明:管理目录:admin,管理员用户名:n3n5,密码:n3n5com网站管理系统:1.网站基本信息,说明:里面设置,网站标题,LOGO,关键词,统计代码,版权信息!2.图片广告管理,说明:网站所有图片广告修改的地方,在首页可以看到所有图片广告,其中ads09是在网址内页显示!其它的都在首页和分类页有位置显示!3.顶部文字广告管理,说明:这里的文字,首页,特别推荐里面显,分类首页和分类页,记得,改后要在生成html管理里,生成一下首页!4.添加商家文字广告,说明:这里的文字,首页,中间部分,广告,那里的文字,在图片广告下面,一行七个!5.管理商家文字广告,说明:修改删除商家文字广告!6.管理帐号设置,说明:管理员用户名,密码的修改!9.客户留言管理,说明:留言本的回复,修改和删除!网站分类管理:1.类别添加管理,说明:分类添加删除管理,这里说明一下添加时有首页显示,导航就显示在首页上面,添加时选酷站显示,就在首页下面酷站里调用!2.类别删除管理,说明:删除不想要的分类!3.类别修改管理,说明:分类修改里,有显示,[首][酷]就是上面说明的首页显示,和酷站显示!网址管理系统:1.添加网址链接,说明:用于后台管理员手工添加网址2.添加实用查询|管理实用查询,说明:添加后在首页实用工具里显示!3.添加名站导航|管理名站导航,说明:添加后在首页名站导航里显示!4.添加友情链接|管理友情链接,说明:添加后在首页下部友情链接里显示!5.查看所有的网址,说明:包含站长加的和用户自己加的!6.站长加入的网址,说明:站长加入的网址!7.用户加入已审核,说明:用户提交的网址,并通过审核的,说明一下,本站有自动审核功能,开启关闭,在 网站管理系统-网站基本信息里设置!8.用户加入未审核,说明:用户提交的网址没审的,也就是没有作上本站链接的,或是作上链接没有点击到本站的!9.有来路入未审核,说明:一般用户认为,有来路就应当审核了,这个功能,是为了关闭自动审核而设计的,手工审核的不管有没有来路,都要站长审核的!10.加入黑名单网站,说明:加入黑名单的网址,点击这个导航,进入后,可以删除,和取消黑名单!11.总来路小于五次,说明:本设计用于客户作上本站链接,点入量过小,没有贡献的站,可以多选删除!12.常用维护共三项,说明:(1)开通所有未审的,一般不用这个,如果想要提交的站就收录,可以点击这个功能!(2)删除重复的网站,有一些站长提交过了,又提交了多次或是用二级域名提交,这样可以删除重复的网站!(3)删除所有未审核的站点,(4)清空所有网址,这个点时要注意,点击了,所有网址就都没有了!13.站内报错,说明:用户在网址详提交网址打不开的情况页点击的!14.站内网站搜索,说明:可以按名称,按网址,按分类,按ID号进行搜索! 模版修改管理:首 页 模版修改 分类页模版修改 关于本站页模板 (这里建议会一些HTML知识的站长修改,如果不会不建议修改以免出错,修改时一定要备份)生成html管理:生成分类页面 生成生成主页及其他页 重置统计数据 清除昨天点入数据 清除总点入数据 清除总点出数据 (常用到上面两个,生成分类页和生成主页,也主是首页!每当后台修改了内容时,要马上显示出来就要手动生成,因为前台自动生成要3分钟!)数据库管理:备份数据库 恢复数据库 压缩数据库 (常用到备份数据库,定期备份一下,免费数据库出错不回来数据!)哇塞电影网址
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值