c#基础学习(0628)之使用进程打开指定的文件、模拟磁盘打开文件
模拟磁盘打开文件
class Program
{
static void Main(string[] args)
{
while(true)
{
Console.WriteLine("请选择要进入的磁盘");
string path=Console.ReadLine();//D:\
Console.WriteLine("请选择要打开的文件");
string fileName=Console.ReadLine();//1.txt
//文件的全路径:path+fileName
FileFather ff=GetFile(fileName,path+fileName);
ff.OpenFile();
Console.ReadKey();
}
}
}
public static FileFather GetFile(string fileName,string fullPath)
{
string extension=Path.GetExtension(fileName);
FileFather ff=null;
switch(extension)
{
case ".txt":ff=new TxtPath(fullPath);
break;
case ".jpg":ff=new JpgPath(fullPath);
break;
case ".wmv":ff=new WmvPath(fullPath);
break;
}
}
public abstract class FileFather
{
public string fullPath
{
get;
set;
}
public FileFather(string fullPath)
{
this.fullPath=fullPath;
}
public abstract void OpenFile();
}
public class TxtPath:FileFather
{
public TxtPath(string fullPath):base(fullPath)
{ }
public override void OpenFile()
{
ProcessStartInfo psi=new ProcessStartInfo(this.fileName);
Process p=new Process();
p.StartInfo=psi;
p.Start();
}
}
public class JpgPath:FileFather
{
public JpgPath(string fullPath):base(fullPath)
{ }
public override void OpenFile()
{
ProcessStartInfo psi=new ProcessStartInfo(this.fileName);
Process p=new Process();
p.StartInfo=psi;
p.Start();
}
}
public class WmvPath:FileFather
{
public WmvPath(string fullPath):base(fullPath)
{ }
public override void OpenFile()
{
ProcessStartInfo psi=new ProcessStartInfo(this.fileName);
Process p=new Process();
p.StartInfo=psi;
p.Start();
}
}
c#基础学习(0628)之使用进程打开指定的文件、模拟磁盘打开文件的更多相关文章
- Qt 打开指定网站/系统文件夹
本文转载自:http://blog.csdn.net/robertkun/article/details/7802977和http://hi.baidu.com/xyhouse/item/ccf ...
- MongoDB实战开发 【零基础学习,附完整Asp.net示例】
MongoDB实战开发 [零基础学习,附完整Asp.net示例] 阅读目录 开始 下载MongoDB,并启动它 在C#使用MongoDB 重构(简化)代码 使用MongoDB的客户端查看数据 使用Mo ...
- dubbo基础学习总结
Dubbo基本原理机制 分布式服务框架: –高性能和透明化的RPC远程服务调用方案 –SOA服务治理方案 -Apache MINA 框架基于Reactor模型通信框架,基于tcp长连接 Dubbo缺省 ...
- 鸟哥Linux私房菜基础学习篇学习笔记2
鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- Java基础学习(一)---Java初识
一.Java介绍 关于Java的诞生和发展网上比较多,在此就不再赘述了,可以参考http://i.cnblogs.com/EditArticles.aspx?postid=4050233. 1.1 J ...
- Nginx基础学习
参考博客: http://www.2cto.com/os/201212/176520.html http://os.51cto.com/art/201111/304611.htm http://www ...
- C#RabbitMQ基础学习笔记
RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
随机推荐
- Layui:前后端分离之Form表单
页面效果图: <div style="display: none;" id="formContainer"> <form class=&quo ...
- Eclipse设置代理
Windows->Preferences->General->Network Connections下面可以设置代理 如果要指定特定的代理地址,需要把类型改为Manual 通常htt ...
- VS2017 无法使用"XXX"附加到应用程序
可能是启用了腾讯的网游,可以关闭游戏,再试一下,如果还是不行,重启一下就可以了.好像是游戏的什么防篡改的作用
- MYsql 之单标查询.
http://www.cnblogs.com/wangfengming/articles/8064956.html .数据操作 .增 INSERT into t2(name,age) VALUES() ...
- Android之开源项目汇总
汇总一:http://www.trinea.cn/android/android-open-source-projects-view/ 汇总二:http://blog.csdn.net/liuhaom ...
- day 51 随机验证码, 验证登陆 ,以及 装饰器在函数中的应用
前端很好的session 的例子 (随机验证码登陆) https://github.com/Endless-Clould/qianduan 参考: 验证码登录 https://www.cnblogs. ...
- WebDriverAPI(5)
将当前浏览器截屏 测试网址 http://www.baidu.com Java语言版本实例 @Test public void captureScreenInCurrentWindows() { dr ...
- docker学习(2)--基础命令
转载请注明源出处:http://www.cnblogs.com/lighten/p/6875355.html 1.基本命令 搭建好docker环境之后,使用docker help命令查看docker的 ...
- PHP 如何 安全配置
配置选项 phpinfo( ) 函数可用于php.ini文件的定位 A.1. allow_url_fopen 选项允许你如同本地文件一样引用远程资源: 我推荐关闭allow_url_fopen选项,除 ...
- 【数组】Search a 2D Matrix
题目: Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the f ...