다음을 통해 공유


Path.ChangeExtension 메서드

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

네임스페이스: System.IO
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Shared Function ChangeExtension ( _
    path As String, _
    extension As String _
) As String
‘사용 방법
Dim path As String
Dim extension As String
Dim returnValue As String

returnValue = Path.ChangeExtension(path, extension)
public static string ChangeExtension (
    string path,
    string extension
)
public:
static String^ ChangeExtension (
    String^ path, 
    String^ extension
)
public static String ChangeExtension (
    String path, 
    String extension
)
public static function ChangeExtension (
    path : String, 
    extension : String
) : String

매개 변수

  • path
    수정할 경로 정보입니다. 경로에는 InvalidPathChars에 정의된 문자가 있을 수 없습니다.
  • extension
    앞에 마침표가 있는 새 확장명입니다. path에서 기존 확장명을 제거하려면 Null 참조(Visual Basic의 경우 Nothing)을 지정하십시오.

반환 값

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

예외

예외 형식 조건

ArgumentException

InvalidPathChars에 정의된 잘못된 문자가 경로에 하나 이상 포함되어 있거나 와일드카드 문자가 경로에 포함되어 있는 경우

설명

path와 extension에 마침표(.)가 없는 경우 ChangeExtension에서 마침표를 추가합니다.

extension 매개 변수에는 여러 개의 마침표와 유효한 경로 문자가 들어 있을 수 있으며 길이에 제한이 없습니다. extension이 Null 참조(Visual Basic의 경우 Nothing)이면 반환된 문자열에 마지막 마침표와 그 뒤에 나오는 모든 문자가 제거된 path의 내용이 들어 있습니다.

extension이 빈 문자열이면 반환된 경로 문자열에 마지막 마침표 다음에 나오는 모든 문자를 포함한 path의 내용이 들어 있습니다.

path에 확장명이 없고 extension이 Null 참조(Visual Basic의 경우 Nothing)이 아니면 반환된 문자열에 path와 extension이 들어 있습니다.

extension이 Null 참조(Visual Basic의 경우 Nothing)이 아니고 앞에 마침표가 없으면 마침표가 추가됩니다.

path에 여러 개의 마침표로 구분된 여러 개의 확장명이 들어 있으면 반환된 문자열에 마지막 마침표 다음에 extension으로 대체된 모든 문자를 포함하는 path의 내용이 들어 있습니다. 예를 들어, path가 "\Dir1\examples\pathtests.csx.txt"이고 extension이 "cs"이면 수정된 경로는 "\Dir1\examples\pathtests.csx.cs"입니다.

모든 경우에 반환된 결과가 유효한지 확인할 수 있는 것은 아닙니다. 예를 들어, path가 비어 있으면 extension이 추가됩니다.

이 메서드를 사용하는 방법에 대한 예제를 보려면 아래 예제 단원을 참조하십시오. 다음 표에서는 일반적인 예 또는 관련된 I/O 작업의 예를 보여 줍니다.

수행 작업

참조 항목

텍스트 파일을 만듭니다.

방법: 파일에 텍스트 쓰기

텍스트 파일에 씁니다.

방법: 파일에 텍스트 쓰기

텍스트 파일에서 읽습니다.

방법: 파일의 텍스트 읽기

확장명을 검색합니다.

GetExtension

파일의 정규화된 경로를 검색합니다.

GetFullPath

경로에서 파일 이름만 검색합니다.

GetFileNameWithoutExtension

경로에서 디렉터리 이름만 검색합니다.

GetDirectoryName

예제

다음 코드 예제에서는 ChangeExtension 메서드의 사용 방법을 보여 줍니다

Imports System
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'
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'
#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 );
   
import System.*;
import 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);
var goodFileName : String = "C:\\mydir\\myfile.com.extension";
var badFileName : String = "C:\\mydir\\";
var result : 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); 

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Path 클래스
Path 멤버
System.IO 네임스페이스

기타 리소스

파일 및 스트림 I/O
방법: 파일의 텍스트 읽기
방법: 파일에 텍스트 쓰기