C#取得控制台应用程序的根目录方法 判断文件夹是否存在,不存在就创建

摘要:
有几种方法可以获取网站的根目录,例如:Server。MapPathServer。MapPath(“/”)服务器。MapPath(“”)服务器。MapPath(“.”)Server.MapPathServer.MapPath Page.Request.ApplicationPath。上面的方法可以在.aspx中访问,但如果在winform文件.HttpContext.Current.Server.MapPath()中,则无法使用。System.Web.HttpContext.Current.Request.PhysicalApplicationPath可以在.cs文件中使用; 这将获取文件的路径,而不是根目录。

取得控制台应用程序的根目录方法
1:Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径
2:AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集
 C#取得控制台应用程序的根目录方法 判断文件夹是否存在,不存在就创建第1张


取得WinForm应用程序的根目录方法
1:Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
2:Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
3:Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
4:AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
5:AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称
 
取得web应用程序的根目录方法
1.HttpContext.Current.Server.MapPath("~/configs/ChannelUsers.xml")
HttpContext.Current返回当前请求的 HttpContext 对象。如此我们就可以直接访问Request、Response、Session、Application等对象,和Page中访问等同。

获取网站根目录的方法有几种如:
Server.MapPath(Request.ServerVariables["PATH_INFO"])
Server.MapPath("/")
Server.MapPath("")
Server.MapPath(".")
Server.MapPath("../")
Server.MapPath("..") 
Page.Request.ApplicationPath
以上的方法可以在.aspx中访问,但是如果你在winform文件就不能用。
HttpContext.Current.Server.MapPath();
System.Web.HttpContext.Current.Request.PhysicalApplicationPath在.cs文件中可以用。
但是HttpContext.Current.Server.MapPath();这个获取的是文件的路径而不是根目录。
只有System.Web.HttpContext.Current.Request.PhysicalApplicationPath    这个才是获取的根目录,在写获取数据库路径是应该用这个。

判断文件夹是否存在,不存在就创建

if (Directory.Exists(Server.MapPath(~/upimg/hufu)) == false)//如果不存在就创建file文件夹{
Directory.CreateDirectory(Server.MapPath(~/upimg/hufu));}
//Directory.Delete(Server.MapPath(~/upimg/hufu), true);//删除文件夹以及文件夹中的子目录,文件
//判断文件的存在
if (File.Exists(Server.MapPath(~/upimg/Data.html))){
Response.Write(Yes);//存在文件}else{
Response.Write(No);
//不存在文件
File.Create(MapPath(~/upimg/Data.html));//创建该文件}
string name = GetFiles.FileName;//获取已上传文件的名字
string size = GetFiles.PostedFile.ContentLength.ToString();//获取已上传文件的大小
string type = GetFiles.PostedFile.ContentType;//获取已上传文件的MIME
string postfix = name.Substring(name.LastIndexOf(.) + 1);//获取已上传文件的后缀
string ipath = Server.MapPath(upimg) +\+ name;//获取文件的实际路径
string fpath = Server.MapPath(upfile) + \ + name;
string dpath = upimg\ + name;//判断写入数据库的虚拟路径
ShowPic.Visible = true;//激活
ShowText.Visible = true;//激活
//判断文件格式
if (name == ) {
Response.Write(<scriptalert('上传文件不能为空')</script);}else{
if (postfix == jpg || postfix == gif || postfix == bmp || postfix == png){
GetFiles.SaveAs(ipath);
ShowPic.ImageUrl = dpath;
ShowText.Text = 你上传的图片名称是: + name + + 文件大小: + size + KB + + 文件类型: + type + + 存放的实际路径为: + ipath;}else{
ShowPic.Visible = false;//隐藏图片
GetFiles.SaveAs(fpath);//由于不是图片文件,因此转存在upfile这个文件夹
ShowText.Text = 你上传的文件名称是: + name + + 文件大小: + size + KB + + 文件类型: + type + + 存放的实际路径为: + fpath;}

免责声明:文章转载自《C#取得控制台应用程序的根目录方法 判断文件夹是否存在,不存在就创建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DataTable排序,检索,合并,筛选Node.js安全清单下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

c# 如何捕捉控制台程序的关闭事件。(转)

最近要做个控制台程序,在用户关闭程序的时候要做些处理,但控制台程序却没有WinForm的Closing或Closed事件,想想只能用API才捕捉消息来实现了,代码如下: 1using System; 2using System.Windows.Forms; 3using System.Diagnostics; 4using System.Runtime....

保持VISUAL STUDIO控制台驻留不闪退

当建立了win32 console project后,F5运行后,本来想看到console中printf出来的信息,可是cmd窗口一闪而过。下面是保持visual studio 跳出的cmd窗口驻留的两种方法,根据需要选择不同的方式。 方法一:  在代码中加入 1 system("pause") 2 getchar() 方法二:  不要用debug模式(...

docker占满linux磁盘根目录的解决办法

一、磁盘根目录被占满 [test@localhost docker]$ df -lh Filesystem Size Used Avail Use%Mounted on /dev/mapper/centos-root 50G 50G 0G 100% / devtmpfs 7.7...

Windows XP 注册表修改大全

1、在〔我的电脑〕上隐藏软驱 在〔开始〕→〔运行〕→输入〔Regedit〕→〔HKEY_CURRENT_USER〕→〔Software〕 →〔Microsoft〕→〔Windows〕→〔CurrentVersion〕→〔Policies〕→〔Explorer〕 →增加一个 DWORD 值〔NoDrives〕的数值资料请使用十进制及如下设置 隐藏 A 盘为〔...

Weblogic的安装、配置与应用部署

1. Weblogic安装 1.1 Linux下安装过程 安装环境: 操作系统: redhat-release-5Server-5.4.0.3 Weblogic版本: Weblogic 9.24 1)       部署前准备: 创建weblogic用户组. groupadd weblogic useradd –g weblogic weblogic pas...

C语言探索之旅 | 第一部分第三课:你的第一个程序

作者 谢恩铭,公众号「程序员联盟」。 转载请注明出处。 原文:https://www.jianshu.com/p/c73fecacd006 《C语言探索之旅》全系列 内容简介 前言 控制台程序还是窗口程序 最基础的代码 特殊字符 注释,很有用 总结 第一部分第四课预告 1. 前言 在上一课 C语言探索之旅 | 第一部分第二课:工欲善其事,必先利其...