>  기사  >  백엔드 개발  >  절대 경로에서 파일 이름을 가져오는 C# 프로그램

절대 경로에서 파일 이름을 가져오는 C# 프로그램

王林
王林앞으로
2023-08-26 16:41:102447검색

절대 경로에서 파일 이름을 가져오는 C# 프로그램

소개

절대 경로에서 파일 이름을 가져오는 C# 프로그램을 이해해 보겠습니다. 파일 이름을 가져오는 데 사용되는 File 클래스 아래의 GetFileName 메서드와 확장명 없이 지정된 경로 문자열의 파일 이름을 반환하는 또 다른 메서드 GetFileNameWithoutExtension의 사용법을 살펴보겠습니다. 두 개의 절대 경로에서 상대 경로를 얻으려면 C#에서 Uri 클래스를 사용합니다. Uri 클래스는 코드에서 사용할 MakeRelativeUri를 포함하여 URI 작업을 위한 여러 메서드를 제공합니다.

파일은 C#에서 일부 정보를 저장하는 데 사용되는 위치입니다. 파일 모음을 디렉터리라고 합니다. C#에서 파일은 파일 작업을 수행하기 위한 다른 클래스도 포함하는 System.IO 네임스페이스에 속합니다. Path는 동일한 네임스페이스 아래의 또 다른 클래스입니다. 경로에는 절대 경로와 상대 경로의 두 가지 유형이 있습니다. 절대 경로에는 시스템에서 파일이나 디렉터리를 찾는 데 필요한 모든 정보가 포함됩니다. 절대 경로의 예는 C:\Program Files\Google Chrome\filename.exe입니다.

상대 경로는 사용자가 작업 중인 현재 디렉터리에 상대적인 파일 경로를 알려줍니다. 위에서 언급한 유사한 예를 고려하면 기본 실행 파일이 C:\Program Files에 있는 경우 filename.exe의 상대 경로는 Google Chrome filename.exe입니다.

GetFileName 메소드

이것은 절대 경로에서 파일 이름을 가져오는 데 사용되는 C#의 파일 클래스 아래에 있는 메서드입니다. path.GetFileName은 이 작업을 수행하는 데 사용됩니다. 절대 경로를 입력으로 사용하고 지정된 경로의 파일 이름과 확장자를 반환합니다. 입력으로 사용되는 절대 경로는 문자열 형식입니다.

문법

으아아아

여기의 경로는 파일 이름을 가져오는 데 필요한 문자열입니다.

위의 예에서 GetFileName은 경로 클래스의 메서드입니다. 이 메서드는 경로 이름에서 마지막 디렉터리 문자 구분 기호 뒤의 문자를 반환합니다. 존재하지 않으면 NULL 값을 반환합니다. 또한 경로의 마지막 문자가 디렉터리 또는 볼륨 구분 기호인 경우에도 NULL 값을 반환합니다.

마찬가지로 경로가 null이면 NULL 값을 반환합니다.

파일 이름이 "C:mydirfilename.exe"이면 출력 결과는 filename.exe입니다.

알고리즘

아래 알고리즘은 File.GetFileName() 메서드를 사용하여 파일 이름을 가져오는 단계별 프로세스를 제공합니다.

예를 들어 파일 이름을 찾아야 하는 경우 다음 알고리즘을 사용하여 이해할 수 있습니다.

1단계파일 경로 이름을 저장할 문자열을 만듭니다. 이는 절대 경로입니다.

2단계 처음에는 비어 있는 문자열 파일 이름을 만듭니다.

3단계 GetFileName 메서드의 출력을 문자열 파일 이름에 저장합니다.

Step 4 위 코드의 파일명은 "myfile"이므로 출력은 동일합니다.

5단계 경로가 null인 경우 반환되는 출력도 NULL이 됩니다.

6단계 GetFileName 메서드를 사용하면 절대 경로에서 파일 이름을 반환할 수 있습니다.

으아아아

출력

으아아아

시간 복잡성

위에 언급된 코드에서 주 함수 내부에는 루프나 중첩 루프가 없으므로 시간 복잡도는 단순히 O(1)입니다.

GetFileNameWithoutExtension 메서드

앞서 설명한 방법은 GetFileName 메서드를 사용하여 파일 이름을 반환하는 것입니다. 이제 확장자 없이 파일 이름을 반환하는 방법을 살펴보겠습니다. 경로 이름이 "C:Program FilesGoogle Chromefilename.exe"라고 가정하면 반환되는 출력은 "filename"입니다. 절대 경로를 입력으로 받아들이고 파일 이름을 출력으로 반환합니다. 입력하는 절대 경로는 문자열 형식입니다. 구문 - "public static string GetFileName(string path)", 여기서 path는 확장자 없이 파일 이름을 가져오려는 문자열입니다.

위의 예에서 GetFileName은 경로 클래스의 메서드입니다. 이 메소드는 확장자 없이 경로 이름의 마지막 디렉토리 문자 구분 기호 뒤의 문자를 반환합니다. 존재하지 않으면 NULL 값을 반환합니다. 또한 경로의 마지막 문자가 디렉터리 또는 볼륨 구분 기호인 경우에도 NULL 값을 반환합니다.

算法

在此算法中,我们将了解使用 GetFileNameWithoutExtension 方法返回不带扩展名的文件名的分步方法。

第 1 步  创建一个字符串来存储绝对路径的名称。

步骤2  创建另一个名为filename的字符串,该字符串将作为输出返回。

第三步 − 字符串变量filename将以null作为其初始值。

第四步  使用GetFileNameWithoutExtension方法生成的输出将存储在一个字符串filename中。

步骤 5  如果文件为空,则输出也将相同。

第 6 步 − 因此我们可以使用 GetFileNameWithoutExtension 方法返回不带扩展名的文件名。

示例

using System;
using System.IO;
using System.Text;

class FileName {
   static void Main(string[] args) {
      //declare the string path first.
      string path = "C:\Program Files\Google Chrome\filename.exe";
      
      //declare the string filename and store null initially.
      string filename = null;
      filename = Path.GetFileNameWithoutExtension(path);
      
      //store the answer in the variable filename.
      Console.WriteLine(filename);
      Console.ReadLine();
   }
}

输出

filename.exe

时间复杂度

在上述代码中,我们可以观察到只使用了一种直接生成输出并将其存储在相应变量中的方法。没有使用任何循环或任何类型的复杂递归函数。这仅仅构成了时间复杂度为O(1)。

结论

在本文中,我们广泛讨论了使用GetFileName方法从绝对路径中获取带有扩展名的文件名,以及使用GetFileNameWithoutExtension方法获取不带扩展名的文件名的C#程序。

我们希望本文能够帮助您增强有关 C# 的知识。

위 내용은 절대 경로에서 파일 이름을 가져오는 C# 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제