전통문화대전망 - 건강 문화 - .net에서 폴더의 모든 파일을 가져오는 방법을 알려주세요.
.net에서 폴더의 모든 파일을 가져오는 방법을 알려주세요.
수업을 보내고 추가 포인트를 받는 것을 잊지 마세요
System 사용;
System.IO 사용;
System.Text 사용 ;
System.Data 사용;
/******************************** ***** ********************************************* ****** ***
*
* 기능 설명: 파일 작업 클래스
* 작성자:
* 버전 :
*
* ********************************* ****** ******************************************/
// /lt;summarygt;
/// 파일 작업 클래스
/// lt;/summarygt;
공용 클래스 FileObj: IDisposable
{
private bool _alreadyDispose = false;
#region 생성자
public FileObj()
{
//
// TODO: 여기에 생성자 논리를 추가합니다.
//
}
~FileObj( )
{
Dispose();
}
protected virtual void Dispose(bool isDisposing) p>
{
if (_alreadyDispose) return;
//if (isDisposing)
//{
/ / if (xml != null)
// {
// xml = null
// }
// }
_alreadyDispose = true;
}
#endregion
#region IDisposable 멤버
public void Dispose () p>
{
Dispose(true)
GC.SuppressFinalize(this)
}
#endregion
#region 파일 접미사 가져오기
/************
******************************
* 함수 이름: GetPostfixStr
* 함수 설명: 파일 접미사 이름 가져오기
* 매개변수: filename: 파일 이름
* 목록 호출:
* string filename = "aaa.aspx" ;
* 문자열 s = EC.FileObj.GetPostfixStr(파일 이름)
********************** * ******************/
/// lt; summarygt;
/// 접미사 이름 가져오기
p>/// lt;/summarygt;
/// lt;param name="filename"gt;파일 이름lt;/paramgt;
/// lt ; returngt;.gif|.html formatlt;/returnsgt;
public static string GetPostfixStr(string filename)
{
int start = filename.LastIndexOf( ".");
int length = filename.Length;
string postfix = filename.Substring(start, length - start);
return postfix;
}
#endregion
#region 파일 이름 가져오기
/**************** ***** ***************************
* 함수 이름: GetFileName
* 함수 설명: 파일 이름 가져오기
* 매개 변수: filename: 파일 이름
* 목록 호출:
* string filename = "aaa.aspx ";
* 문자열 s = EC.FileObj.GetFileName(파일 이름);
********************* ****** ******************/
/// 요약gt
/// 가져오기 파일 이름
/ // lt;/summarygt;
/// param name="filename"gt;
Namelt;/paramgt;
/// lt;returnsgt;파일 이름lt;/returnsgt;
public static string GetFileName(string fileUrl, string dir)
{
return fileUrl.Substring((fileUrl.Length - dir.Length) gt; fileUrl.Length ? 0: dir.Length)
}
#endregion
#region 쓰기 파일
/******************************** * *************
* 함수명 : WriteFile
* 함수 설명 : 파일을 쓰면 이전 내용을 덮어씁니다
* 매개변수: 경로: 파일 경로, 문자열: 텍스트 내용
* 통화 목록:
* string Path = Server.MapPath("Default2.aspx")
p>
* string Strings = "내가 쓴 내용입니다.";
* EC.FileObj.WriteFile(Path, Strings);
*** ** ************************************/
/// lt ;summarygt;
///파일 쓰기
/// lt;/summarygt;
/// lt;param name="Path"gt; 파일 경로 lt;/paramgt;
/// lt;param name="Strings"gt;파일 내용lt;/paramgt;
public static void WriteFile(string Path, string Strings )
{
if (!System.IO.File.Exists(경로))
{
System.IO.FileStream f = System.IO.File.Create(Path);
f.Close();
}
System.IO.StreamWriter f2 = 새 시스템 .IO.StreamWriter(경로, false, System.Text.Encoding.GetEncoding("gb2312"));
f2.Write(Strings);
f2.Close();
> f2.Dispose();
}
#endregion
#region 읽기 파일
/******* *********************************
* 함수명 : ReadFile
* 함수 설명: 텍스트 내용 읽기
* 매개변수: 경로: 파일 경로
* 호출 목록:
* string Path = Server.MapPath (" Default2.aspx");
* string s = EC.FileObj.ReadFile(경로);
*************** ** ****************************/
/// 요약gt; // /파일 읽기
/// lt;/summarygt;
/// lt;param name="Path"gt;파일 경로lt;/paramgt;
/// lt; returngt; lt; returngt;
public static string ReadFile(string Path)
문자열 s = "" ;
if (!System.IO.File.Exists(Path))
s = "해당 디렉터리가 존재하지 않습니다."
else; p>
{
StreamReader f2 = new StreamReader(Path, System.Text.Encoding.GetEncoding("gb2312"))
s = f2.ReadToEnd();
p>f2.Close();
f2.Dispose();
}
return s;
}
#endregion
#region 추가 파일
/******************** ****** ******************
* 함수명 : FileAdd
* 함수 설명 : 파일 내용 추가
* 매개변수: 경로: 파일 경로, 문자열: 내용
* 통화 목록:
* string Path = Server.MapPath("Default2.aspx")
;
* string Strings = "새 추가 콘텐츠";
* EC.FileObj.FileAdd(Path, Strings); *************************************/
/// lt; summarygt;
///파일 추가
/// lt;/summarygt;
/// lt;param name="Path"gt;파일 pathlt ;/paramgt;
/// lt;param name="strings"gt;contentlt;/paramgt;
public static void FileAdd(string Path, string strings)
p>{
StreamWriter sw = File.AppendText(Path)
sw.Write(strings)
sw.Flush();
sw.Close();
}
#endregion
#region 복사 파일
/* ***************************************
* 기능 이름: FileCoppy
* 기능 설명: 파일 복사
* 매개 변수: OrignFile: 원본 파일, NewFile: 새 파일 경로
* 호출 목록:
* string orignFile = Server.MapPath("Default2.aspx");
* string NewFile = Server.MapPath("Default3.aspx")
* FileObj .FileCoppy(OrignFile, NewFile);
********************************** * ******/
/// lt; summarygt;
/// 파일 복사
/// lt < / p>
/// lt; param name="OrignFile"gt; /paramgt
/// lt; 새 파일 경로 ;
public static void FileCoppy(string orignFile, string NewFile)
> {
File.Copy(orignFile, NewFile, true);
}
#endregion
#region 파일 삭제
p>/****************************************** p>
* 함수 이름: FileDel
* 함수 설명: 파일 삭제
* 매개변수: 경로: 파일 경로
* 호출 목록:
p >
* string Path = Server.MapPath("Default3.aspx")
* EC.FileObj.FileDel(Path); * ************************************/
/// lt; summarygt;
/// 파일 삭제
/// lt;/summarygt;
/// lt; ;/ paramgt;
public static void FileDel(string Path)
{
File.Delete(Path);
}< /p >
#endregion
#region 파일 이동
/************************ ***** ***************
* 기능명 : 파일이동
* 기능설명 : 파일이동
* 매개변수: OrignFile: 원래 경로, NewFile: 새 파일 경로
* 호출 목록:
* string orignFile = Server.MapPath("../Description.txt") ;
* string NewFile = Server.MapPath("../../Description.txt")
* EC.FileObj.FileMove(OrignFile, NewFile)
p>********************************************/ p>
/// lt;summarygt;
/// 파일 이동
/// lt;/summarygt;
/// lt ;param name=" OrignFile"gt;원래 경로lt;/paramgt;
/// lt;param 이름
="NewFile"gt; 새 경로lt;/paramgt;
public static void FileMove(string orignFile, string NewFile)
{
File.Move( orignFile , NewFile);
}
#endregion
#region 현재 디렉토리에 디렉토리 생성
/***** ***********************************
* 함수명 : FolderCreate
* 기능 설명: 현재 디렉터리 아래에 디렉터리 생성
* 매개 변수: OrignFolder: 현재 디렉터리, NewFloder: 새 디렉터리
* 통화 목록:
* string orignFolder = Server.MapPath("test/");
* string NewFloder = "new"
* EC.FileObj.FolderCreate(OrignFolder, NewFloder);
*****************************************/
/// lt; summarygt;
/// 현재 디렉토리에 디렉토리 생성
/// lt; p > /// lt;param name="OrignFolder"gt;현재 디렉터리lt;/paramgt;
/// lt;param name="NewFloder"gt;새 디렉터리lt;/paramgt;
p>public static void FolderCreate(string orignFolder, string NewFloder)
{
Directory.SetCurrentDirectory(orignFolder);
Directory.CreateDirectory( NewFloder );
}
#endregion
#region은 폴더, 디렉터리 및 파일을 반복적으로 삭제합니다.
/****** * *********************************
* 기능명 : 폴더삭제
* 기능 설명: 폴더, 디렉터리, 파일을 반복적으로 삭제
* 매개변수: dir: 폴더 경로
* 호출 목록:
* string dir = 서버.MapPat
h("테스트/");
* EC.FileObj.DeleteFolder(dir)
****************** ***********************/
/// lt; summarygt;
/// 재귀 삭제 폴더 디렉터리 및 파일
/// lt;/summarygt;
/// lt;param name="dir"gt;lt;/paramgt;
/// lt; returngt;
public static void DeleteFolder(string dir)
{
if (Directory.Exists( dir) )) //이 폴더가 있으면 삭제하세요.
{
foreach (Directory.GetFileSystemEntries(dir)의 문자열 d)
{
if (File.Exists(d))
File.Delete(d); //파일을 직접 삭제합니다.
else
DeleteFolder (d ); //하위 폴더를 재귀적으로 삭제
}
Directory.Delete(dir); //빈 폴더 삭제
} p>
}
#endregion
#region 지정된 폴더 아래의 모든 내용을 대상 폴더에 복사합니다. 대상 폴더에 읽기 전용 속성이 있는 경우 오류가 보고됩니다.
/****************************************** p>
* 함수명 : CopyDir
* 함수 설명 : 지정된 폴더 아래의 모든 내용을 대상 폴더에 복사합니다. 대상 폴더에 읽기 전용 속성이 있으면 오류가 발생합니다. 보고됩니다.
* 매개변수: srcPath: 원래 경로, aimPath: 대상 폴더
* 호출 목록:
* string srcPath = Server.MapPath("test/ ") ;
* string aimPath = Server.MapPath("test1/")
* EC.FileObj.CopyDir(srcPath, aimPath); *****************************************/
/ // lt; summarygt;
/// 지정된 폴더에 있는 모든 내용을 대상 폴더에 복사합니다.
///
/ // lt;param name="srcPath"gt;원래 경로lt;/paramgt;
/// lt;param name="aimPath"gt;대상 폴더lt;/paramgt;
public static void CopyDir(string srcPath, string aimPath)
{
try
{
// 대상 디렉토리인지 확인 그렇지 않은 경우 추가하세요.
if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
aimPath = Path.DirectorySeparatorChar; p>
// 대상 디렉터리가 존재하는지 확인합니다. 존재하지 않으면 새 디렉터리를 만듭니다.
if (!Directory.Exists(aimPath))
디렉터리. CreateDirectory(aimPath) ;
//파일과 디렉터리 경로가 포함된 배열인 소스 디렉터리의 파일 목록을 가져옵니다.
//복사본 아래의 파일을 가리키는 경우 디렉터리를 포함하지 않고 대상 파일 다음 방법을 사용하십시오.
//string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = Directory.GetFileSystemEntries(srcPath) ;
//모든 파일과 디렉터리를 탐색합니다.
foreach (fileList의 문자열 파일)
{
//대상을 먼저 고려합니다.
디렉터리 처리에서 이 디렉터리가 존재하면 디렉터리 아래의 파일을 반복적으로 복사합니다.
if (Directory.Exists(file))
CopyDir(file, aimPath Path.GetFileName(file ));
// 그렇지 않으면 파일을 직접 복사합니다.
else
File.Copy(file, aimPath Path.GetFileName(file), true);
}
}
catch (예외 ee)
{
throw new Exception(ee.ToString( ));
}
}
#endregion
#region 폴더 읽기
/*** ** *************************************
* 기능 이름: ShowFolder
* 기능 설명: 폴더 내용 표시
* 매개변수: dir: 폴더 경로
* 목록 호출:
* string dir = Server.MapPath("test/");
* EC.FileObj.DeleteFolder(dir)
************** **** *************************/
/// 요약gt; > /// 폴더 내용 표시
/// lt;/summarygt;
/// lt;param name="dir"gt;lt;/paramgt;
/// lt; returngt; lt; / returngt;
public static DataTable ShowFolder(string dir)
{
DataTable dt = new DataTable() ;
DataRow dr;
dt.Columns.Add("fname", typeof(string));
dt.Columns.Add( "fType" , typeof(string));
string[] Folders = System.IO.Directory.GetDirectories(dir);
string[] files = 시스템
m.IO.Directory.GetFiles(dir);
for (int i = 0; i lt; Folders.Length; i )
{
dt .Rows.Add(GetFileName(Folders[i], dir), "폴더")
}
for (int i = 0; i lt; files.Length; i )
{
dt.Rows.Add(GetFileName(files[i], dir), "files")
}
dt를 반환;
}
#endregion
}
- 관련 기사
- 검을 우편으로 보낼 수 있나요?
- 클래식한 아디 킹 슬로건을 위해 무릎을 꿇고 ~~~
- 동호회는 무엇을 할 것인가
- 중국의 토지 취득과 관련된 법률 및 규정이 무엇인지 알려주실 수 있나요?
- Ganzhou Shen'ao 전자공장의 일반 근로자들은 어떻습니까?
- 주시안 2 프로모션 ID는요? 보상은 무엇입니까?
- 약혼을 위해 준비해야 할 사항
- 로맨스 소설과 상상의 글을 추천해드려요! 설정은 참신하며 틀에 박힌 루틴을 거부합니다.
- 죄송합니다: 대형 과일 슈퍼마켓 ---인사 구조 및 점장, 구매, 출납원, 창고 관리, 직원 관리 시스템 감사합니다.
- 프록시가 무엇인지 알려줄 수 있는 사람이 있나요?