Main Content

uiputfile

파일을 저장하기 위한 대화 상자 열기

설명

file = uiputfile은 파일을 선택하거나 지정할 수 있는 모달 대화 상자를 엽니다. 대화 상자는 현재 폴더에 있는 파일과 폴더를 나열합니다.

  • 사용자가 유효한 파일 이름을 지정하고 저장을 클릭한 경우, MATLAB®file에 파일 이름을 반환합니다.

  • 사용자가 대화 상자를 취소하면 MATLAB은 file0을 반환합니다.

참고

  • uiputfile의 실행에 성공하면 사용자가 지정하는 새로운 파일 또는 기존 파일의 이름을 반환합니다. 이 함수가 파일을 만들지는 않습니다.

  • 대화 상자의 시각적인 특성은 코드를 실행하는 운영 체제에 따라 달라집니다. 예를 들어, 일부 운영 체제는 대화 상자에 제목 표시줄을 표시하지 않습니다. 대화 상자 제목을 uiputfile 함수로 전달하면 운영 체제는 제목을 표시하지 않습니다.

[file,location] = uiputfile은 선택되거나 지정된 파일 경로를 location에 반환합니다. 사용자가 대화 상자를 취소하면 MATLAB은 두 출력 인수 모두에 0을 반환합니다.

[file,location,indx] = uiputfile은 대화 상자에서 선택된 파일 형식 값의 인덱스를 반환합니다. 인덱스는 1에서 시작됩니다. 사용자가 취소 버튼 또는 창 닫기 버튼(X)을 클릭하면 MATLAB은 모든 출력 인수에 0을 반환합니다.

예제

___ = uiputfile(filter)filter와 일치하는 확장자를 가진 파일만 표시합니다. 일부 플랫폼에서 uiputfilefilter와 일치하지 않는 파일을 표시하기도 하지만, 이러한 파일은 흐리게 표시됩니다. uiputfile 함수는 파일 형식 목록에 모든 파일을 추가합니다.

filter가 파일 이름인 경우, uiputfile파일 이름 필드에서 파일 이름을 표시하고 그 파일 확장자를 디폴트 필터로 사용합니다.

이 구문을 위에 열거된 구문의 모든 출력 인수 조합과 함께 사용하십시오.

예제

___ = uiputfile(filter,title)은 지정된 제목을 갖는 대화 상자를 엽니다. 디폴트 파일 필터를 사용하여 필터링하되 사용자 지정 제목을 지정하려면 필터 값에 빈 따옴표를 사용하십시오.

file = uiputfile('','Select a File')

예제

___ = uiputfile(filter,title,defname)defname으로 지정된 파일 이름이 파일 이름 필드에 표시되는 대화 상자를 엽니다.

예제

모두 축소

대화 상자를 만들고 filteraniminit.m으로 지정합니다. 코드를 실행하면 파일 이름 필드에 지정된 파일 이름이 포함되고 파일 형식 필드가 *.m으로 설정됩니다.

[file,location,indx] = uiputfile('animinit.m');

File selection dialog box with the file name and save as type set. There are buttons to save and cancel in the bottom right.

filter 입력 인수에서 각 파일 확장자를 세미콜론으로 구분하여 파일 형식 목록 상자에 여러 파일 형식을 표시합니다.

filter = {'*.m';'*.slx';'*.mat';'*.*'};
[file, location] = uiputfile(filter);

File selection dialog box. The save as type drop-down lists the different file extension options.

filter 입력값에 대한 셀형 배열을 사용하여 파일 형식 목록을 만들고 디폴트 설명과는 다른 설명을 지정합니다. 'MATLAB Files''Models' 설명이 여러 파일 형식에 연결됩니다.

입력 인수 filter 셀형 배열의 첫 번째 열에는 파일 확장자가 포함되고 두 번째 열에는 파일 형식의 설명이 포함됩니다. 예를 들어, 1열의 첫 번째 항목에는 여러 확장자가 세미콜론으로 구분되어 있습니다. 이러한 파일 형식은 모두 설명 'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)'과 연결됩니다.

[filename, pathname, filterindex] = uiputfile( ...
{'*.m;*.fig;*.mat;*.slx;*.mdl',...
 'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)';
 '*.m;*.mlx', 'program files (*.m,*.mlx)';...
 '*.fig','Figures (*.fig)';...
 '*.mat','MAT-files (*.mat)';...
 '*.slx;*.mdl','Models (*.slx,*.mdl)';...
 '*.*',  'All Files (*.*)'});

File selection dialog box. The save as type drop-down lists the different file extension descriptions.

파일 형식 필드가 MAT 파일로 설정되고 제목이 'Workspace File'인 대화 상자를 만듭니다.

[file,location] = uiputfile('*.mat','Workspace File');

File selection dialog box. The save as type drop-down list option is "MAT-files (*.mat)"

파일 이름 필드에서 디폴트 파일을 표시하지만 사용자가 대화 상자에서 모든 파일 형식을 볼 수 있도록 하려면, 필터에 와일드카드를 지정하고 디폴트 파일 이름을 지정하십시오.

[file,location,indx] = uiputfile('*.*','File Selection','test.m');

File selection dialog box with many files displayed. The dialog title is File Selection and the text in the File name edit field is test.m.

쓰려는 파일 선택 대화 상자를 열고 파일을 선택합니다. MATLAB이 다른 이름으로 저장 확인 대화 상자를 자동으로 엽니다.

  • 확인 대화 상자에서 확인을 클릭하면 MATLAB이 두 대화 상자를 모두 닫고 선택 항목을 명령 창에 표시합니다.

  • 확인 대화 상자에서 아니요를 클릭하고, 쓰려는 파일 선택 대화 상자에서 취소를 클릭하면 명령 창에 User clicked Cancel.이 표시됩니다.

[file,location] = uiputfile('*.m');
if isequal(file,0) || isequal(location,0)
   disp('User clicked Cancel.')
else
   disp(['User selected ',fullfile(location,file),...
         ' and then clicked Save.'])
end

입력 인수

모두 축소

파일 필터로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 아래 표는 filter 인수에 전달할 수 있는 입력 유형과 대화 상자에서의 동작을 나열합니다.

입력값동작예제
파일 이름

파일 이름은 대화 상자의 파일 이름 필드에 표시됩니다. 파일 확장자가 디폴트 필터 값입니다.

파일 이름에 경로가 포함된 경우 대화 상자가 지정된 폴더로 열립니다. 그렇지 않으면 현재 폴더로 열립니다. 지정한 폴더가 없으면 uiputfile은 대화 상자를 현재 폴더로 엽니다.

  • 'icon.png'

  • 'C:\Documents\icon.png'

  • '..\icon.png'

폴더

대화 상자는 폴더의 내용을 표시합니다. 파일 이름 필드는 비어 있으며 필터가 적용되지 않습니다. 폴더 이름을 지정하려면 filter의 마지막 문자가 백슬래시(\)이거나 슬래시(/)여야 합니다.

지정한 폴더가 없으면 uiputfile은 대화 상자를 현재 폴더로 엽니다.

  • 'C:\Documents\'

파일 확장자 필터

대화 상자에는 일치하는 확장자를 갖는 파일만 표시됩니다.

사용자가 여러 개의 필터 중에서 선택하도록 허용하려면 각 필터에 대한 항목이 있는 셀형 배열 또는 string형 배열을 지정합니다. 필터는 대화 상자의 필터 필드 드롭다운 메뉴에 표시됩니다.

2개 이상의 확장자로 필터를 생성하려면 단일 문자형 벡터 또는 string형 내에 확장자를 지정하고 세미콜론(;)으로 구분합니다.

  • '*.m'

  • {'*.m';'*.mlx'}

  • {'*.m;*.mlx';'*.png;*.jpeg'}

설명이 있는 파일 확장자 필터

대화 상자는 확장자를 필터 필드의 설명과 함께 표시합니다. 사용자는 여러 개의 필터 중에서 선택할 수 있습니다.

필터 설명을 표시하려면 셀형 배열 또는 string형 배열에서 두 개의 열을 지정합니다. 첫 번째 열에는 파일 확장자 목록이 포함됩니다. 두 번째 열에는 각 확장자의 설명 목록이 포함됩니다. 이러한 설명은 필터 필드의 표준 설명을 바꿉니다. 설명은 비어 있을 수 없습니다.

  • {'*.m;*.mlx','Code files';'*.png;*.jpeg','Image files'}

파일 필터에 경로가 포함된 경우, 해당 경로는 다음 문자를 포함할 수 있습니다.

  • .

  • ..

  • \

  • /

  • ~

예를 들어 '../*.m'은 현재 폴더 위에 있는 폴더에서 .m 확장자를 가진 모든 코드 파일을 나열합니다.

디폴트 파일 필터를 사용하려면 필터 값에 빈 따옴표를 지정하십시오. 예를 들어, 디폴트 파일 필터를 사용하고 사용자 지정 제목을 지정하려면 다음 구문을 사용하십시오.

uiputfile('','Select File')

대화 상자 제목으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

디폴트 대화 상자 제목을 사용하려면 제목 값에 빈 따옴표를 사용하십시오. 예를 들어, 파일 필터, 디폴트 제목, 파일 이름 필드 값을 지정하려면 다음 구문을 사용하십시오.

uiputfile('*.m','','myFile.m')

예: 'File Selector'

대화 상자가 열릴 때 파일 이름 필드에 표시할 디폴트 파일 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

defname의 값은 경로를 포함하거나 경로로만 구성될 수 있습니다. defname 인수에는 다음 문자를 사용할 수 있습니다.

.
..
\
/
~

defname을 폴더로만 지정하려면 defname의 마지막 문자를 백슬래시 \ 또는 슬래시 /로 지정하십시오. 이렇게 하면 MATLAB은 경로로 지정된 폴더의 대화 상자를 엽니다. 존재하지 않는 경로를 지정하면 MATLAB은 현재 폴더의 대화 상자를 엽니다.

예: 'myfile.m'

예: '../myfile.m'

출력 인수

모두 축소

사용자가 지정한 파일 이름으로, 문자형 벡터 또는 string형 스칼라로 반환됩니다. 사용자는 대화 상자에서 파일 이름을 선택하거나, 파일 이름 필드에 파일 이름을 입력하거나, 디폴트 파일 이름(사용자가 제공할 경우)을 수락하여 파일 이름을 지정할 수 있습니다. 사용자가 대화 상자를 취소하면 MATLAB은 file0으로 반환합니다.

사용자가 지정한 파일 이름에 대한 경로로, 문자형 벡터 또는 0으로 반환됩니다. 사용자가 대화 상자를 취소하면 MATLAB은 path0으로 반환합니다.

파일 형식 인덱스로, 정수로 반환됩니다. 아래 그림에 표시된 것처럼, 인덱스는 파일 형식 행의 선택 항목에 대응합니다. 인덱스는 1에서 시작됩니다.

Save as type drop-down list. The drop-down list contains four different file extensions with the first option labeled with indx = 1, the second with indx = 2, and so on.

사용자가 취소 버튼 또는 대화 상자의 닫기 버튼(X)을 클릭하거나, 파일이 존재하지 않는 경우 MATLAB은 indx0으로 반환합니다.

세부 정보

모두 축소

모달 대화 상자

모달 대화 상자에서는 대화 상자 조작이 끝나기 전에 다른 MATLAB 창과 상호 작용을 할 수 없습니다.

  • MATLAB 함수와 MATLAB 툴박스 함수를 사용하여 사용자가 지정한 파일과 위치에 데이터를 쓰려면 uiputfile이 반환하는 경로와 파일 이름을 사용하십시오. 예를 들면 다음과 같습니다.

    • fprintf - 데이터를 텍스트 파일에 씁니다.

    • imwrite - 이미지를 그래픽스 파일에 씁니다.

    • xlswrite - 행렬을 Microsoft® Excel® 스프레드시트에 씁니다. 예를 들어, 아래 코드는 행렬 A를 만들고, 사용자로부터 파일 이름을 얻는 대화 상자를 만들고, 반환된 값에서 전체 파일 이름을 작성한 다음, 사용자가 지정한 Excel 파일에 행렬을 씁니다.

      A = [12.7 5.02 -98 63.9 0 -.2 56];
      [file,location] = uiputfile('*.xlsx');
      filename = fullfile(location,file);
      xlswrite(filename,A);
      

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |