Проблема в использовании состава струн для создания файлов pathNamesJAVA

Программисты JAVA общаются здесь
Anonymous
Проблема в использовании состава струн для создания файлов pathNames

Сообщение Anonymous »

При манипулировании путей файлов и каталогов в формате string я использую соглашение о том, что все каталоги -имена заканчиваются с помощью файла.separator . Это дает мне легкий способ дифференциации между файлами и каталогами, а также позволяет мне очень легко сочинять имена. Это означает, что каждый раз, когда я приобретаю путь откуда откуда, мне нужно проверить, заканчивается ли он file.separator и, если нет, добавьте строку в PathName. Кажется легко, верно? Метод CreateLogFile () использует предыдущий метод для создания абсолютного пути файла журнала, создает недостающий каталог, если это необходимо, создает файл, а затем возвращает свое абсолютное имя. Проверки в CreateLogfile () делают это, похоже, не так. Что происходит? < /P>
public static String createLogFile() {
String pathOfCurrentDirectory = pathOfCurrentDirectory();
String logDirectory = pathOfCurrentDirectory + "Log" + File.separator;
System.out.println();
System.out.println("pathOfCurrentDirectory: " + pathOfCurrentDirectory
+ "\n logDirectory = " + logDirectory);
String path = logDirectory + "Log_" + LogUtilities.dateId() + ".log";
System.out.println("logFile: " + path + "\n logFile.exists() = " + new File(path).exists());

FilesUtility.createNewFile(new File(path));
System.out.println("After creation, logFile.exists() = " + new File(path).exists());

return path;
}
public static String pathOfCurrentDirectory() {
String output = new File(System.getProperty("user.dir")).getAbsolutePath();
// System.out.println("Dir: " + output);
// System.out.println("File.separatorChar = " + File.separatorChar);
System.out.println("Last char of dir: " + output.charAt(output.length()-1));
System.out.println("modifiedDir = " + (output + File.separator));
String newOutput = (output + File.separator);
System.out.println("newOutput = " + newOutput);
// return output;
if( output.charAt(output.length()-1) == File.separatorChar )
return newOutput;
else return output;
}



Подробнее здесь: https://stackoverflow.com/questions/630 ... -pathnames

Вернуться в «JAVA»