C\#프로그램의 루트 디 렉 터 리 를 가 져 오고 파일 이 존재 하 는 지 판단 하 는 실례 설명
5575 단어 C#루트 디 렉 터 리판 가름문건
콘 솔 프로그램의 루트 디 렉 터 리 를 가 져 오 는 방법
방법 1.Environment.currentDirectory 가 현재 작업 디 렉 터 리 의 전체 한정 경 로 를 가 져 오 거나 설정 합 니 다.
방법 2.AppDomain.CurrentDomain.BaseDirectory 에서 기본 디 렉 터 리 를 가 져 옵 니 다.프로그램 집합 충돌 해결 프로그램 에서 프로그램 집합 을 탐지 합 니 다.
WinForm 프로그램의 루트 디 렉 터 리 를 가 져 오 는 방법
1、Environment.CurrentDirectory.ToString();//현재 작업 디 렉 터 리 의 완전 한정 경 로 를 가 져 오 거나 설정 합 니 다.
2、Application.StartupPath.ToString();//프로그램 을 시작 한 실행 가능 한 파일 의 경 로 를 가 져 옵 니 다.실행 가능 한 파일 의 이름 은 포함 되 지 않 습 니 다.
3、Directory.GetCurrentDirectory();//프로그램의 현재 작업 디 렉 터 리 가 져 오기
4、AppDomain.CurrentDomain.BaseDirectory;//기본 디 렉 터 리 를 가 져 옵 니 다.프로그램 집합 충돌 해결 프로그램 에서 프로그램 집합 을 탐지 합 니 다.
5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//이 프로그램 을 포함 하 는 디 렉 터 리 의 이름 을 가 져 오 거나 설정 합 니 다.
웹 프로그램의 루트 디 렉 터 리 를 가 져 오 는 방법
1.HttpContext.Current.Server.MapPath("~/configs/ChannelUsers.xml")
HttpContext.Current
현재 요청 한 HttpContext 대상 을 되 돌려 줍 니 다.이렇게 하면 우 리 는 Request,Response,Session,Application 등 대상 을 직접 방문 할 수 있 고 페이지 의 방문 과 같 습 니 다.
페이지 를 매개 변수 로 라 이브 러 리 대상 에 전달 할 필요 가 없습니다.
HttpContext.Current.Session["name"] = " ";
string name = HttpContext.Current.Request.Param["name"];
HttpContext.Current.Response.Write(" !");
사이트 루트 디 렉 터 리 를 가 져 오 는 방법 은 다음 과 같다.
Server.MapPath(Request.ServerVariables["PATH_INFO"])
Server.MapPath("/")
Server.MapPath("")
Server.MapPath(".")
Server.MapPath("../")
Server.MapPath("..")
Page.Request.ApplicationPath
실행 결과:C:\Inetpub\wwwroot\EnglishClub\manage\WebForm1.aspx
C:\Inetpub\wwwroot\
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\
C:\Inetpub\wwwroot\EnglishClub
이상 의 방법 은.aspx 에서 접근 할 수 있 지만,만약 당신 이 있다 면.cs 파일 은 사용 할 수 없습니다.
HttpContext.Current.Server.MapPath();
System.Web.HttpContext.Current.Request.PhysicalApplicationPath
.cs 파일 에서 사용 할 수 있 습 니 다.그러나 HttpContext.Current.server.MapPath();이것 은 루트 디 렉 터 리 가 아 닌 파일 의 경 로 를 가 져 옵 니 다.
System.Web.HttpContext.Current.Request.PhysicalApplicationPath 만 이 가 져 온 루트 디 렉 터 리 입 니 다.데이터 베 이 스 를 가 져 오 는 경 로 를 쓰 는 데 는 이 걸 사용 해 야 합 니 다.다른 것 은 모두 문제 가 있 습 니 다.
2.파일 및 폴 더 의 존재 여 부 를 판단 하 는 방법
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ShowPic.Visible = false;//
ShowText.Visible = false;//
}
protected void Button1_Click(object sender, EventArgs e)
{
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("<script>alert(' ')</script>");
}
else{
if (postfix == "jpg" || postfix == "gif" || postfix == "bmp" || postfix == "png")
{
GetFiles.SaveAs(ipath);
ShowPic.ImageUrl = dpath;
ShowText.Text = " :" + name + "<br>" + " :" + size + "KB" + "<br>" + " :" + type + "<br>" + " :" + ipath;
}
else
{
ShowPic.Visible = false;//
GetFiles.SaveAs(fpath);// , upfile
ShowText.Text = " :" + name + "<br>" + " :" + size + "KB" + "<br>" + " :" + type + "<br>" + " :" + fpath;
}
}
}
}
이상 의 C\#프로그램의 루트 디 렉 터 리 와 파일 의 존재 여 부 를 판단 하 는 실례 설명 은 바로 소 편 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.