다음을 통해 공유


Path.ChangeExtension(String, String) 메서드

정의

경로 문자열의 확장명을 변경합니다.

public:
 static System::String ^ ChangeExtension(System::String ^ path, System::String ^ extension);
public static string ChangeExtension (string path, string extension);
public static string? ChangeExtension (string? path, string? extension);
static member ChangeExtension : string * string -> string
Public Shared Function ChangeExtension (path As String, extension As String) As String

매개 변수

path
String

수정할 경로 정보입니다.

extension
String

앞에 마침표가 있거나 없는 새 확장명입니다. path에서 기존 확장명을 제거하려면 null을(를) 지정하세요.

반환

수정된 경로 정보입니다.

Windows 기반 데스크톱 플랫폼에서 path이(가) null이거나 빈 문자열("")이면 경로 정보가 수정되지 않고 반환됩니다. extension이(가) null이면 반환된 문자열에 확장명이 제거된 지정된 경로가 포함되어 있습니다. path에 확장명이 없고 extension이(가) null이 아니면 반환된 경로 문자열에는 path 끝에 추가된 extension이(가) 포함되어 있습니다.

예외

2.1 이전의 .NET Framework 및 .NET Core 버전: path 에 정의된 잘못된 문자가 하나 이상 포함되어 있습니다GetInvalidPathChars().

예제

다음 예제를 사용 하는 방법을 보여 줍니다는 ChangeExtension 메서드.

#using <system.dll>

using namespace System;
using namespace System::IO;
void ChangeExtension()
{
   String^ goodFileName = "C:\\mydir\\myfile.com.extension";
   String^ badFileName = "C:\\mydir\\";
   String^ result;
   result = Path::ChangeExtension( goodFileName,  ".old" );
   Console::WriteLine( "ChangeExtension({0}, '.old') returns '{1}'", goodFileName, result );
   result = Path::ChangeExtension( goodFileName,  "" );
   Console::WriteLine( "ChangeExtension({0}, '') returns '{1}'", goodFileName, result );
   result = Path::ChangeExtension( badFileName,  ".old" );
   Console::WriteLine( "ChangeExtension({0}, '.old') returns '{1}'", badFileName, result );
   
   // This code produces output similar to the following:
   //
   // ChangeExtension(C:\mydir\myfile.com.extension, '.old') returns 'C:\mydir\myfile.com.old'
   // ChangeExtension(C:\mydir\myfile.com.extension, '') returns 'C:\mydir\myfile.com.'
   // ChangeExtension(C:\mydir\, '.old') returns 'C:\mydir\.old'
using System;
using System.IO;

public class PathSnippets
{

    public void ChangeExtension()
    {
        string goodFileName = @"C:\mydir\myfile.com.extension";
        string badFileName = @"C:\mydir\";
        string result;

        result = Path.ChangeExtension(goodFileName, ".old");
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'",
            goodFileName, result);

        result = Path.ChangeExtension(goodFileName, "");
        Console.WriteLine("ChangeExtension({0}, '') returns '{1}'",
            goodFileName, result);

        result = Path.ChangeExtension(badFileName, ".old");
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'",
            badFileName, result);

        // This code produces output similar to the following:
        //
        // ChangeExtension(C:\mydir\myfile.com.extension, '.old') returns 'C:\mydir\myfile.com.old'
        // ChangeExtension(C:\mydir\myfile.com.extension, '') returns 'C:\mydir\myfile.com.'
        // ChangeExtension(C:\mydir\, '.old') returns 'C:\mydir\.old'
Imports System.IO

Public Class PathSnippets
    Public Sub ChangeExtension()
        Dim goodFileName As String = "C:\mydir\myfile.com.extension"
        Dim badFileName As String = "C:\mydir\"
        Dim result As String
        result = Path.ChangeExtension(goodFileName, ".old")
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'", goodFileName, result)
        result = Path.ChangeExtension(goodFileName, "")
        Console.WriteLine("ChangeExtension({0}, '') returns '{1}'", goodFileName, result)
        result = Path.ChangeExtension(badFileName, ".old")
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'", badFileName, result)

        ' This code produces output similar to the following:
        '
        ' ChangeExtension(C:\mydir\myfile.com.extension, '.old') returns 'C:\mydir\myfile.com.old'
        ' ChangeExtension(C:\mydir\myfile.com.extension, '') returns 'C:\mydir\myfile.com.'
        ' ChangeExtension(C:\mydir\, '.old') returns 'C:\mydir\.old'

설명

pathextension 마침표(.) ChangeExtension 를 포함하지 않으면 마침표가 추가됩니다.

매개 변수는 extension 여러 마침표와 유효한 경로 문자를 포함할 수 있으며 길이는 임의의 길이일 수 있습니다. 가 이nullextension 반환된 문자열에는 마지막 마침표가 있는 의 path 내용과 그 다음에 있는 모든 문자가 제거됩니다.

가 빈 문자열인 경우 extension 반환된 경로 문자열에는 마지막 마침표가 제거된 후 모든 문자가 포함된 의 내용 path 이 포함됩니다.

확장이 없는 경우 이 아닌 경우 path 반환된 extension문자열 뒤에 가 포함됩니다path.nullextension

이 아니 null 고 선행 기간이 포함되지 않은 경우 extension 마침표가 추가됩니다.

여러 마침표로 구분된 여러 확장이 포함된 경우 path 반환된 문자열에는 마지막 마침표가 있는 의 내용과 그 뒤의 path 모든 문자가 로 extension대체됩니다. 예를 들어 가 "\Dir1\examples\pathtests.csx.txt"이고 extension 가 "cs"인 경우 path 수정된 경로는 "\Dir1\examples\pathtests.csx.cs"입니다.

반환된 결과가 모든 시나리오에서 유효한지 확인할 수 없습니다. 예를 들어 가 비어 extension 있으면 path 가 추가됩니다.

일반적인 I/O 작업 목록은 일반적인 I/O 작업을 참조하세요.

적용 대상

추가 정보