Path.ChangeExtension(String, String) 메서드

정의

경로 문자열의 확장명을 변경합니다.Changes the extension of a path string.

public:
 static System::String ^ ChangeExtension(System::String ^ path, System::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

수정할 경로 정보입니다.The path information to modify. 경로에는 GetInvalidPathChars()에 정의된 문자가 포함될 수 없습니다.The path cannot contain any of the characters defined in GetInvalidPathChars().

extension
String

앞에 마침표가 있거나 없는 새 확장명입니다.The new extension (with or without a leading period). path에서 기존 확장명을 제거하려면 null을(를) 지정하세요.Specify null to remove an existing extension from path.

반환

수정된 경로 정보입니다.The modified path information.

Windows 기반 데스크톱 플랫폼에서 path이(가) null이거나 빈 문자열("")이면 경로 정보가 수정되지 않고 반환됩니다.On Windows-based desktop platforms, if path is null or an empty string (""), the path information is returned unmodified. extension이(가) null이면 반환된 문자열에 확장명이 제거된 지정된 경로가 포함되어 있습니다.If extension is null, the returned string contains the specified path with its extension removed. path에 확장명이 없고 extension이(가) null이 아니면 반환된 경로 문자열에는 path 끝에 추가된 extension이(가) 포함되어 있습니다.If path has no extension, and extension is not null, the returned path string contains extension appended to the end of path.

예외

pathGetInvalidPathChars()에 정의된 잘못된 문자가 하나 이상 포함되어 있는 경우path contains one or more of the invalid characters defined in GetInvalidPathChars().

예제

다음 예제를 사용 하는 방법을 보여 줍니다는 ChangeExtension 메서드.The following example demonstrates a use of the ChangeExtension method.

#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 기간이 추가 됩니다.If neither path nor extension contains a period (.), ChangeExtension adds the period.

extension 매개 변수는 여러 개의 마침표와 유효한 경로 문자를 포함할 수 있으며 모든 길이가 될 수 있습니다.The extension parameter can contain multiple periods and any valid path characters, and can be any length. extension null경우 반환 되는 문자열에는 마지막 기간이 있는 path 내용과 제거 후의 모든 문자가 포함 됩니다.If extension is null, the returned string contains the contents of path with the last period and all characters following it removed.

extension 빈 문자열인 경우 반환 된 경로 문자열에는 마지막 마침표 뒤의 문자가 있는 path의 내용이 포함 됩니다.If extension is an empty string, the returned path string contains the contents of path with any characters following the last period removed.

path에 확장이 없고 extension null되지 않은 경우 반환 되는 문자열에 path 뒤에 extension가 포함 됩니다.If path does not have an extension and extension is not null, the returned string contains path followed by extension.

extension null 없고 선행 기간을 포함 하지 않는 경우 기간이 추가 됩니다.If extension is not null and does not contain a leading period, the period is added.

path 여러 개의 마침표로 구분 된 여러 확장을 포함 하는 경우 반환 되는 문자열에는 path의 내용과 마지막 마침표와 그 뒤의 모든 문자가 extension로 바뀝니다.If path contains a multiple extension separated by multiple periods, the returned string contains the contents of path with the last period and all characters following it replaced by extension. 예를 들어 path가 "\Dir1\examples\pathtests.csx.txt"이 고 extension가 "cs" 이면 수정 된 경로는 "\Dir1\examples\pathtests.csx.cs"입니다.For example, if path is "\Dir1\examples\pathtests.csx.txt" and extension is "cs", the modified path is "\Dir1\examples\pathtests.csx.cs".

반환된 된 결과 모든 시나리오에서 유효한 지 확인 하는 것이 불가능 합니다.It is not possible to verify that the returned results are valid in all scenarios. 예를 들어 path 비어 있으면 extension 추가 됩니다.For example, if path is empty, extension is appended.

일반적인 i/o 작업 목록은 일반적인 I/o 작업을 참조 하세요.For a list of common I/O tasks, see Common I/O Tasks.

적용 대상

추가 정보