할 수 있습니다 단지 체크 기존 파일 및 추가 1, 2, 제안 된 파일 이름 3 등 :
private static int GetNextFileNumber(String fileFullName) {
int result = -1;
String fileName = Path.GetFileNameWithoutExtension(fileFullName);
String ext = Path.GetExtension(fileFullName);
foreach (String file in Directory.GetFiles(Path.GetDirectoryName(fileFullName))) {
if (!String.Equals(ext, Path.GetExtension(file), StringComparison.OrdinalIgnoreCase))
continue;
String name = Path.GetFileNameWithoutExtension(file);
if (!name.StartsWith(fileName, StringComparison.OrdinalIgnoreCase))
continue;
if (result < 0)
if (name.Equals(fileName, StringComparison.OrdinalIgnoreCase))
result = 1;
int num = 0;
if (int.TryParse(name.Substring(fileName.Length), out num))
if (num > result)
result = num + 1;
}
return result;
}
private static String GetNextFileName(String fileFullName) {
int number = GetNextFileNumber(fileFullName);
if (number <= 0)
return fileFullName;
return Path.Combine(Path.GetDirectoryName(fileFullName),
Path.GetFileNameWithoutExtension(fileFullName) + (number).ToString() + Path.GetExtension(fileFullName));
}
....
private void button3_Click(object sender, EventArgs e)
{
....
// bitmap.Save("C:/Users/G73/Desktop/My OVMK Photos/OpenVMK.jpg", ImageFormat.Jpeg);
// Instead of file_name use GetNextFileName(file_name):
bitmap.Save(GetNextFileName("C:/Users/G73/Desktop/My OVMK Photos/OpenVMK.jpg"), ImageFormat.Jpeg);
....
}
나는 비주얼 베이직 2012 C#에서 코딩 *을 사용하고 있습니다 *. 우와 야, 정신 f * ck. – CodingIntrigue
가독성이 사용 설명서와 상관없는 경우 : http://stackoverflow.com/questions/4657974/how-to-generate-unique-file-names-in-c-sharp – derape