을 만들면 기존 파일과 동일한 이름의 새 파일을 만들 때 사용자에게 출력 파일이 이미 있다는 메시지가 표시되지 않고, 그러나 (1) 파일 이름의 끝 ...에Windows 환경에서 여러 응용 프로그램에서 '새 파일 Windows'동작
name.doc
나는 C#에서 동일한 동작을 만들려고 해요
name(1).doc
될 것으로 새 파일을 만들고 제 질문은 ...이 코드를 모두 줄일 수 있습니까?
FileInfo finfo = new FileInfo(fullOutputPath);
if (finfo.Exists)
{
int iFile = 0;
bool exitCreatingFile = false;
while (!exitCreatingFile)
{
iFile++;
if (fullOutputPath.Contains("(" + (iFile - 1) + ")."))
fullOutputPath = fullOutputPath.Replace(
"(" + (iFile - 1) + ").",
"(" + iFile + ")."); // (1) --> (2)
else
fullOutputPath = fullOutputPath.Replace(
Path.GetFileNameWithoutExtension(finfo.Name),
Path.GetFileNameWithoutExtension(finfo.Name) + "(" + iFile + ")"); // name.doc --> name(1).doc
finfo = new FileInfo(fullOutputPath);
if (!finfo.Exists)
exitCreatingFile = true;
}
}
많은 청소기 :) 덕분에 – balexandre
확실히 원래 방법보다 낫다. FileInfo 객체에서 사용할 수 있기 때문에 별도로 이름을 저장할 이유가 없습니다. –
'fullOutputPath'가 원래의 코드에서 구체적으로 현재 위치에서 업데이트 중이므로 더 이상 계속 사용될 수 있는지 여부를 알 수 없습니다. – jerryjvl