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 |