본문 바로가기

공방/학습 일지

[ .NET ] File 및 Directory 작업

File 및 Directory 작업

 

단일 기능

// 필수 네임 스페이스
using System.IO;
using System.Text;

// 폴더 생성1
Directory.CreateDirectory("위치");	

// 폴더 생성2
DirectoryInfo di = new Directory("위치")	
di.Create();

// 폴더 유무 확인1
DirectoryInfo di = new DirectoryInfo("위치");
di.Exists

// 폴더 유무 확인2
Directory.Exists("위치");				

// 폴더 이동1
DirectoryInfo di = new DirectoryInfo("위치");
di.MoveTo("위치");

// 폴더 이동2
Directory.Move("현재위치","이동할 위치");

// 폴더 삭제1
Directory.Delete("위치", true);

// 폴더 삭제2
DirectoryInfo di = new DirectoryInfo("위치");
di.Delete(true);

// 파일 생성1
FileInfo fi = new FileInfo("위치");	
fi.Create();

// 파일 생성2
FileInfo fi = new FileInfo("위치");	
FileStream fs = fi.Create();
fs.Close();

// 파일 유무 확인
FileInfo fi = new FileInfo("위치");
fi.Exists	

// 파일 이동1
File.Move("현재위치", "이동할 위치");

// 파일 이동2
FileInfo fi = new FileInfo("위치");
fi.MoveTo("이동할 위치");

// 파일 쓰기1
using(FileStream fs = new FileStream("위치", FileMode.Create, FileAccess.Write))
{
	using(StreamWriter sw = new StreamWriter(fs, Encoding.Default))
    {
    	foreach(string line in data)
        {
        	sw.WriteLine(line);
		}
    }    
}

// 파일 읽기1
string[] lines = File.ReadAllLine("위치");

// 파일 읽기2
string lines = File.ReadAllText("위치");

// 파일 읽기3
using(StreamReader sr = new StreamReader(File.OpenRead("위치"), Encoding.Default))
{
	TextReader tr = sr;
    var data = tr.ReadToEnd();
    //byte[] readBuffer = File.ReadAllBytes("위치");
}

// 파일 삭제1
File.Delete("위치");

// 파일 삭제2
FileInfo fi = new FileInfo("위치");
fi.Delete();

 

모든 디렉토리 나열 (인터페이스 사용)

// 최상위 디렉터리의 이름을 읽고 나열
IEnumerable<string> listOfDirectories = Directory.EnumerateDirectories("폴더1");

foreach (var dir in listOfDirectories) {
    Console.WriteLine(dir);
}

// Outputs:
// 폴더1/폴더1-1
// 폴더1/폴더1-2

 

특정 디렉토리의 파일 나열 (인터페이스 사용)

IEnumerable<string> files = Directory.EnumerateFiles("폴더1");

foreach (var file in files)
{
    Console.WriteLine(file);
}

// Outputs:
// 폴더1/텍스트1.txt
// 폴더1/제이슨1.json

 

디렉토리와 모든 하위 디렉터리의 내용 모두 나열 (인터페이스 사용)

IEnumerable<string> allFilesInAllFolders 
	= Directory.EnumerateFiles("폴더1", "*.txt", SearchOption.AllDirectories);

foreach (var file in allFilesInAllFolders)
{
    Console.WriteLine(file);
}

// Outputs:
// 폴더1/totals.txt
// 폴더1/펄더1-1/inventory.txt

'공방 > 학습 일지' 카테고리의 다른 글

[ Python ] 을 시작해보자  (0) 2020.11.20
[ .NET ] File 및 Directory 작업 활용2  (0) 2020.11.16
[ .NET ] File 및 Directory 작업 활용1  (0) 2020.11.15
[ .NET ] 앱 디버깅  (0) 2020.11.12
[ .NET ] 을 시작해보자  (0) 2020.11.09