进程系列(三)-进程的基本用法(打开文件示列)
第一步 写一个文件父类:
public class BaseFile
{
public string FilePath { get; set; }
private string _fileName;
public string FileName
{
get { return _fileName; }
set { _fileName = value; }
}
public BaseFile()
{
}
public BaseFile(string filePath,string fileName)
{
this.FilePath = filePath;
this.FileName = fileName;
}
/// <summary>
/// 设计一个函数用来打开指定的函数
/// </summary>
/// <param name="filePath"></param>
/// <param name="fileName"></param>
public void OpenFile(string filePath, string fileName)
{
ProcessStartInfo psi = new ProcessStartInfo(filePath+"//"+fileName);
Process pro = new Process();
pro.StartInfo = psi;
pro.Start();
}
}
第二步 分别新建一个TXT,PDF,XLS文件子类继承文件父类:
TXT:
public class TextFile : BaseFile
{
public TextFile(string filePath, string fileName)
: base(filePath,fileName)
{
}
}
PDF:
public class PdfFile : BaseFile
{
public PdfFile(string filePath, string fileName)
: base(filePath, fileName)
{
}
}
XLS:
public class XlsFile : BaseFile
{
public XlsFile(string filePath, string fileName)
: base(filePath, fileName)
{
}
}
第三步 通过简单工厂模式返回设计父类:
public class Common
{
public static BaseFile GetFile(string filePath,string fileName)
{
string strExtension = Path.GetExtension(fileName);
BaseFile bf = null;
switch (strExtension)
{
case ".txt":
bf = new TextFile(filePath, fileName);
break;
case ".pdf":
bf = new PdfFile(filePath, fileName);
break;
case ".xls":
bf = new XlsFile(filePath, fileName);
break;
}
return bf;
}
}
第四步 从控制台操作要打开的文件:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入你要打开文件的路径:");
string filePath = Console.ReadLine();
Console.WriteLine("请输入你要开文件的名字:");
string fileName = Console.ReadLine();
//通过简单工厂模式返回设计父类
BaseFile bf = Common.GetFile(filePath, fileName);
if (bf!=null)
{
bf.OpenFile(filePath, fileName);
}
Console.ReadKey();
}
}
进程系列(三)-进程的基本用法(打开文件示列)相关推荐
- linux进程系列(5)进程链与进程扇
在linux编程中我们或许需要创建多个进程才可以完成任务需求,那么我们怎么创建多个进程呢?下面我们介绍一下进程链与进程扇的概念 所谓进程链就是父进程创建一个子进程,创建的子进程再次创建出属于自己的子进 ...
- Linux三种修改打开文件数量限制的方法
系统环境 Centos7 为什么要限制打开文件的数量? 因为操作系统需要内存来管理每个文件,所以可以打开的文件数可能会受到限制.由于程序也可以关闭文件处理程序,它可以创建任意大小的文件,直到所有可用磁 ...
- linux hosts文件如何修改_3 种方法教你在 Linux 中修改打开文件数量限制
当文件被打开访问时,操作系统临时分配一个名为文件句柄的数字.主内存的一个特殊区域是为文件句柄预留的,这个区域的大小决定了一次可以打开多少个文件. Linux上的进程受到许多限制,这些限制也阻碍它们正确 ...
- [系统安全] 三十五.Procmon工具基本用法及文件进程、注册表查看
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- Android 系统(243)---Android进程系列第一篇---进程基础
Android进程系列第一篇---进程基础 内容预览.png 概述: 本文主要讲解进程基础,更深入的认识有血有肉的进程,内容涉及进程控制块,信号,进程FD泄露等等.仅供参考,欢迎指正. 一.从Linu ...
- python在主线程上下文执行_线程进程系列*(Python)
一 ,线程的两种调用方式 threading 模块建立在thread 模块之上.thread模块以低级.原始的方式来处理和控制线程,而threading 模块通过对thread进行二次封装, 提供了更 ...
- Android系统10 RK3399 init进程启动(三十八) 属性Selinux实战编程
配套系列教学视频链接: 安卓系列教程之ROM系统开发-百问100ask 说明 系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言 上一节 ...
- 【Android 逆向】Android 进程注入工具开发 ( 远程进程 注入动态库 文件操作 | Android 进程读取文件所需的权限 | fopen 打开文件标志位 | 验证文件权限 )
文章目录 前言 一.Android 进程读取文件所需的权限 二.fopen 打开文件标志位 三.验证文件权限 前言 一.Android 进程读取文件所需的权限 通过 注入工具 , 将 libbridg ...
- 进程隐藏与进程保护(SSDT Hook 实现)(三)
文章目录: 1. 引子: 2. 获取当前系统下所有进程: 3. 服务管理(安装,启动,停止,卸载): 4. 应用程序和内核程序通信: 5. 小结: 1. 引子: 关于这个 SSDT Hook 实现进程 ...
- Android系统启动系列----init进程
Android系统启动系列 Android系统启动系列----init进程 Android系统启动系列----Zygote进程 引言 在开发app的过程中,是不是会有疑问: java程序的运行不是从m ...
最新文章
- PonyAI小马智行官宣再获2.67亿美元融资,创办4年累计吸金超10亿美元
- Linux开发中 MD5值的计算
- linux各种压缩包使用方法
- 干货:嵌入式C语言源代码优化方案(非编译器优化)
- java web项目请求控制及简单漏洞防范
- 疯狂连连看之开发游戏界面组件一
- 不推荐使用getResources()。getColor()[重复]
- Mysql 行锁入门
- 为SQL Server 增加链接到SQL Server 的链接服务器
- Neural Style Transfer
- 如何将php网页打印成pdf,新技能!如何把网页打印成pdf文件?
- FPGA课程:JESD204B的应用场景(干货分享)
- 1952-2018年中国各省份人均GDP(消涨处理)
- 自行车、电动自行车、儿童自行车做16 CFR 1512测试报告
- OSChina 周五乱弹 ——电影里有在线/离线,递归,循环,矩阵等概念?
- switch结构详解
- Campus Talking 小记(3)
- EffectiveJava阅读感想一
- 设计模式六大原则及常用模式详解
- DBeaver SQL format 第三方插件方案
热门文章
- python三行代码抠图_Python用5行代码如何实现批量抠图 Python用5行代码实现批量抠图方法...
- ## Android Studio 开发(四)--蓝牙通信
- 袁腾飞讲述西方古代哲学思想
- c#_Form调用另一个Form中的按钮和方法
- mui用ajax上拉加载更多,mui 中的一个上拉加载及下拉刷新的方法 ,但是我使用ajax拿不到url中的数据,是为什么?...
- MMORPG开发入门
- ISP(八) Gamma原理详解
- 联想一体机用u盘装linux教程,联想一体机如何用u盘装系统
- [FSOD][笔记]Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI 2020)
- 三轮全向轮底盘SLAM挖坑系列-简介