본문 바로가기

공방/학습 일지

[ .NET ] File 및 Directory 작업 활용1

폴더에서 파일 찾기 

검색할 폴더의 PATH를 "directory1"에 입력하고, 찾을 파일명을 "test.txt"에 입력

폴더명만 입력할 경우 프로그램이 설치된 폴더를 기준으로 검색됨을 참고

using System;
using System.IO;
using System.Collections.Generic;

namespace dev_butterflylifeExam
{
    public class Program
    {
        static void Main(string[] args)
        {
            var files = FindFiles("directory1");

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

        static IEnumerable<string> FindFiles(string folderName)
        {
            List<string> salesFiles = new List<string>();

            var foundFiles
                = Directory.EnumerateFiles(folderName, "*", SearchOption.AllDirectories);

            foreach (var file in foundFiles)
            {
                if (file.EndsWith("test.txt"))
                {
                    salesFiles.Add(file);
                }
            }

            return salesFiles;
        }

    }
}

output : directory1\111\test.txt

 

현재 디렉터리 확인

var Path = Directory.GetCurrentDirectory();

 

특수 디렉토리 작업

// windows 에서 실행시 내문서 폴더(MyDocuments)의 경로를 반환
// Linux 에서 실행시 Home 디렉터리의 경로를 반환
string Path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

 

특수 경로 문자

Windows는 백 슬러시(\) macOS 는 슬래시(/)를 사용하는데 운영체제에 따라 자동 해석해준다

$"{Path.DirectorySeparatorChar}201";

outputs:
\201 윈도우
/201 맥

 

조인 경로

프로그램이 실행되는 운영체제에 따라 경로를 맞춰준다

Path.Combine("directory1","201");
outputs : directory1/201

 

확장명 확인

Path.GetExtension("test.txt"); // outputs: .txt

 

경로 불러오기 활용 예시

string fileName 
	= $"stores{Path.DirectorySeparatorChar}
    	201{Path.DirectorySeparatorChar}
        sales{Path.DirectorySeparatorChar}sales.json";

FileInfo info = new FileInfo(fileName);

$"Full Name: {info.FullName}{Environment.NewLine}
  Directory: {info.Directory}{Environment.NewLine}
  Extension: {info.Extension}{Environment.NewLine}
  Create Date: {info.CreationTime}";

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

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