首页 文章 精选 留言 我的

精选列表

搜索[c/c ],共10000篇文章
优秀的个人博客,低调大师

[C#]使用CMD命令删除文件函数

#region 使用CMD命令删除文件函数 /// <summary> /// 使用CMD命令删除文件函数 /// </summary> /// <param name="strFilePath">文件地址</param> /// <returns>执行结果</returns> public bool GetRunCmdDeleteFile(string strFilePath) { try { // 实例化一个进程类 System.Diagnostics.Process MyProcess = new System.Diagnostics.Process(); // 使用命令程序 MyProcess.StartInfo.FileName = "CMD"; // 标准输入 MyProcess.StartInfo.RedirectStandardOutput = true; // 标准输出 MyProcess.StartInfo.RedirectStandardInput = true; // 将cmd的标准输入和输出全部重定向到.NET的程序里,此处必须为false否则引发异常 MyProcess.StartInfo.UseShellExecute = false; // 不显示命令行窗口界面 MyProcess.StartInfo.CreateNoWindow = false; // 启动进程 MyProcess.Start(); // 执行命令 MyProcess.StandardInput.WriteLine(@"DEL " + strFilePath.Trim().ToString()); MyProcess.StandardInput.WriteLine("EXIT"); // 等待执行完成 MyProcess.WaitForExit(); // 关闭进程 MyProcess.Close(); // 返回成功 return true; } catch (System.Exception Exp) // 异常处理 { // 异常信息 System.Diagnostics.Debug.Write(Exp.Message.ToString()); // 返回失败 return false; } finally { } } #endregion ---------------------------------------------------- 我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。 https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=6evata1e&utm_source=6evata1e

优秀的个人博客,低调大师

OBjective-C:文件管理类NSFileManager

文件管理类NSFileManager类:对文件进行创建、复制、重命名、删除等,一般不对文件内容进行操作。 NSData类和NSMutableData类:相当于数据缓冲区 NSFileManager是一个单例类,可以通过defalutManager类方法创建 + (NSFileManager *)defaultManager;//通过这个方法创建的对象始终是同一个 一些文件操作的概念: -当前目录:. -上级目录:.. -根目录:/ -home目录:~ -绝对路径:从根目录开始的路经 -相对路径:从当前目录开始的路径 方法 描述 -(NSData) contentsAtPath:*path 从一个文件读取数据 -(BOOL) createFileAtPath:pathcontents: (NSData)*dataattributes:attr 向一个文件写入数据 -(`BOOL) removeItemAtPath:patherror:err 删除一个文件 -(BOOL) moveItemAtPath:fromtoPath:toerror:err 重命名或移动一个文件(to不能是已存在的) -(BOOL) copyItemAtPath:fromtoPath:toerror:err 复制一个文件(to不能是已存在的) -(BOOL) contentsEqualAtPath:path1andPath:path2 比较这两个文件的内容 -(BOOL) fileExistsAtPath:path 测试文件是否存在 -(BOOL) isReadableFileAtPath:path 测试文件是否存在且是可读文件 -(BOOL) isWritableFileAtPath:path 测试文件是否存在且是可写文件 -(NSDictionary) attributesOfItemAtPath:*patherror:err 获取文件的属性 -(BOOL) setAttributesOfItemAtPath:attrerror:err 更改文件的属性 —————-目录—————- —————目录—————- -(NSString *) currentDirectoryPath 获取当前目录 -(BOOL) changeCurrentDirectoryPath:path 更改当前目录 -(BOOL) copyItemAtPath:fromtoPath:toerror:err 复制目录结构(to不能是已存在的) -(BOOL) createDirectoryAtPath:pathwithIntermediateDirectories: (BOOL)flagattributes:attr 创建一个新目录 -(NSArray) contentsOfDirectoryAtPath:*patherror:err 列出目录内容 -(NSDirectoryEnumerator) enumeratorAtPath:*path 枚举目录的内容 -(BOOL) removeItemAtPath:patherror:err 删除空目录 -(BOOL) moveItemAtPath:fromtoPath:toerror:err 重命名或移动一个目录(to不能是已存在的) 1、 创建NSFileManager对象,其实都是同一个对象 1 NSFileManager *fm = [NSFileManager defaultManager]; 2 NSFileManager *fm2 = [NSFileManager defaultManager]; 3 4 NSLog(@"%@,%@",fm,fm2); 2015-08-24 20:28:23.744 01-NSFlleManager[861:32223] <NSFileManager: 0x100306940>,<NSFileManager: 0x100306940> 2、获取当前路径 1 NSString *currentPath = [fm currentDirectoryPath]; 2 NSLog(@"当前目录:%@0",currentPath); 2015-08-24 20:29:15.624 01-NSFlleManager[869:32586] 当前目录:/Users/mac/Library/Developer/Xcode/DerivedData/01-NSFlleManager-bjtgjiggpfdimgemqrewbfyjlwwu/Build/Products/Debug0 Program ended with exit code: 0 3、改变当前路径 1 [fm changeCurrentDirectoryPath:@".."]; 2 currentPath = [fm currentDirectoryPath]; 3 NSLog(@"当前目录:%@0",currentPath); 2015-08-24 20:30:54.837 01-NSFlleManager[878:33188] 当前目录:/Users/mac/Library/Developer/Xcode/DerivedData/01-NSFlleManager-bjtgjiggpfdimgemqrewbfyjlwwu/Build/Products0 Program ended with exit code: 0 4.创建目录 1 NSError *error; 2 [fm createDirectoryAtPath:@"temp" withIntermediateDirectories:YES attributes:nil error:&error]; 3 if(error) 4 { 5 NSLog(@"创建目录错误:%@",error); 6 } 7 else 8 { 9 NSLog(@"创建成功"); 10 } 11 12 [fm changeCurrentDirectoryPath:@"temp"]; 13 currentPath = [fm currentDirectoryPath]; 14 NSLog(@"当前目录:%@0",currentPath); 2015-08-24 20:32:48.230 01-NSFlleManager[886:33837] 创建成功 2015-08-24 20:32:48.230 01-NSFlleManager[886:33837] 当前目录:/Users/mac/Library/Developer/Xcode/DerivedData/01-NSFlleManager-bjtgjiggpfdimgemqrewbfyjlwwu/Build/Products/temp0 Program ended with exit code: 0 5.复制文件(目录) 1 [fm copyItemAtPath:@"../Debug/01-NSFlleManager" toPath:@"./02-NSFlleManager" error:&error]; 2 if(error) 3 { 4 NSLog(@"复制文件失败:%@",error); 5 } 6 else 7 { 8 NSLog(@"复制文件成功"); 9 } 6.移动文件(目录),在同一个目录下改名操作 1 [fm moveItemAtPath:@"02-NSFlleManager" toPath:@"03-NSFlleManager" error:&error]; 2 if(error) 3 { 4 NSLog(@"文件移动失败:%@",error); 5 } 6 else 7 { 8 NSLog(@"文件移动成功"); 9 } 7.删除文件(目录) 1 error = nil; 2 [fm removeItemAtPath:@"../01-NSFlleManager" error:&error]; 3 if(error) 4 { 5 NSLog(@"文件删除失败:%@",error); 6 } 7 else 8 { 9 NSLog(@"文件删除成功"); 10 } 8.枚举目录内容 8.1 递归输出所有目录的内容 1 NSDirectoryEnumerator *dirEnumerator = [fm enumeratorAtPath:@"/Users/mac/IOS/OC"]; 2 NSString *path; 3 while(path = [dirEnumerator nextObject]) 4 { 5 NSLog(@"%@",path); 6 } 8.2 .只输出当前目录的内容 1 NSArray *files = [fm contentsOfDirectoryAtPath:@"/Users/mac/IOS/OC" error:&error]; 2 NSLog(@"%@",files); 9.列出目录(文件)的属性 1 NSDictionary *attr = [fm attributesOfItemAtPath:@"/Users/mac/IOS/OC" error:&error]; 2 NSLog(@"%@",attr); 2015-08-24 20:40:56.755 01-NSFlleManager[912:36354] { NSFileCreationDate = "2015-08-10 01:39:40 +0000"; NSFileExtensionHidden = 0; NSFileGroupOwnerAccountID = 20; NSFileGroupOwnerAccountName = staff; NSFileModificationDate = "2015-08-24 01:22:42 +0000"; NSFileOwnerAccountID = 501; NSFileOwnerAccountName = mac; NSFilePosixPermissions = 493; NSFileReferenceCount = 13; NSFileSize = 442; NSFileSystemFileNumber = 1685728; NSFileSystemNumber = 16777218; NSFileType = NSFileTypeDirectory; } Program ended with exit code: 0 10.创建文件 1 NSString *str = @"this is a test"; 2 NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; 3 if([fm createFileAtPath:@"1.txt" contents:data attributes:nil]) 4 { 5 NSLog(@"创建文件成功"); 6 } 7 else 8 { 9 NSLog(@"创建文件失败"); 10 } 11.判断文件是否存在 1 if([fm fileExistsAtPath:@"1.txt" isDirectory:NULL]) 2 { 3 NSLog(@"文件存在"); 4 } 5 else 6 { 7 NSLog(@"文件不存在"); 8 } 12.读取文件内容 1 NSData *data2 = [fm contentsAtPath:@"1.txt"]; 2 NSLog(@"%ld",[data2 length]); 3 NSString *str2 = [[NSString alloc]initWithData:data2 encoding:NSUTF8StringEncoding]; 4 NSLog(@"%@",str2); 2015-08-24 20:44:33.660 01-NSFlleManager[920:37495] this is a test Program ended with exit code: 0 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4755793.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

OBjective-C:atomic和nonatomic的区别

atomic和nonatomic的区别: atomic:设置成员变量的@property属性时,默认为atomic,提供多线程安全。因为多线程的缘故,所有的对象在操作成员变量时都是同步的,因此,为了防止一个对象在操作数据时还没有结束就被另一个对象抢走进行篡改,atomic为此提供了多线程安全机制,采用同步加锁的方式,来控制进程的归属权。 即: {lock} //第一个对象获取操作数据后,给自己的进程加锁,别人在我没有释放锁之前就无法再去抢夺了。 if (property != newValue) { [property release]; property = [newValue retain]; } {unlock}//该对象操作完数据后,就释放了同步锁,别人就可以获取这个数据进行自己的操作了。 说明:锁必须是唯一的。 nonatomic:设置成员变量的@property属性时,设置nonatomic,禁止多线程。这就直接消除了数据操作过程中被被另一方篡改的可能性。如果不是多线程,一般就采用这种设置。 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4737132.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

C#判断访问网站的设备类型

同样也是在破解版的HISHOP源码上扒出来的,代码如下: protected void InitVisitorTerminal() { VisitorTerminal visitorTerminal = new VisitorTerminal(); string userAgent = base.Request.UserAgent; if (string.IsNullOrWhiteSpace(userAgent)) { userAgent = ""; } userAgent = userAgent.ToLower(); bool flag = userAgent.Contains("ipad"); bool flag1 = userAgent.Contains("iphone os"); bool flag2 = userAgent.Contains("midp"); bool flag3 = userAgent.Contains("rv:1.2.3.4"); flag3 = (flag3 ? flag3 : userAgent.Contains("ucweb")); bool flag4 = userAgent.Contains("android"); bool flag5 = userAgent.Contains("windows ce"); bool flag6 = userAgent.Contains("windows mobile"); bool flag7 = userAgent.Contains("micromessenger"); bool flag8 = userAgent.Contains("windows phone "); bool flag9 = userAgent.Contains("appwebview(ios)"); visitorTerminal.Terminal = EnumVisitorTerminal.PC; if ((flag || flag1 || flag2 || flag3 || flag4 || flag5 || flag6 ? true : flag8)) { visitorTerminal.Terminal = EnumVisitorTerminal.Moblie; } if ((flag ? true : flag1)) { visitorTerminal.OperaSystem = EnumVisitorOperaSystem.IOS; visitorTerminal.Terminal = EnumVisitorTerminal.Moblie; if (flag) { visitorTerminal.Terminal = EnumVisitorTerminal.PAD; } if (flag9) { visitorTerminal.Terminal = EnumVisitorTerminal.IOS; } } if (flag4) { visitorTerminal.OperaSystem = EnumVisitorOperaSystem.Android; visitorTerminal.Terminal = EnumVisitorTerminal.Moblie; } if (flag7) { visitorTerminal.Terminal = EnumVisitorTerminal.WeiXin; } if ((visitorTerminal.Terminal == EnumVisitorTerminal.Moblie || visitorTerminal.Terminal == EnumVisitorTerminal.PAD || visitorTerminal.Terminal == EnumVisitorTerminal.WeiXin ? true : visitorTerminal.Terminal == EnumVisitorTerminal.IOS)) { this.IsMobileTerminal = true; } this.visitorTerminalInfo = visitorTerminal; } 有些类型是他自己里面定义好的枚举。。知道那个意思就行了。。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册