| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Метод для добавления '/' к имени каталога |
| Автор: Barvetal 27.9.2006, 20:22 |
| Всем привет! Есть у меня методе, которая принимает имя каталога параметром. Но мне неизвестно, содержит ли каталог символ '/' в конце. Мне нужно в моем методе составить путь к файлу, а для этого нужно чтобы в конце имени каталога гарантированно был '/'. Есть ли в java метод, который добавляет символ '/' в конец имени каталога, если этого символа там нет? В Delphi аналогичный метод называется IncludeTrailingBackslash. Всем заранее спасибо! |
| Автор: y3u 27.9.2006, 21:38 |
| ну во-первых, в какой-нибудь ОС может быть иной от бек слеша разделитель пути к файлу, поэтому хардкорить такие вещи в Java не принято, на худой конец надо использовать File.separatorChar, если работа идет с файлом. у File есть конструктор File(String parent, String child), парент - это каталог, в котором лежит сам файл, конструктор сработает правильно независимот от наличия в конце разделителя. А вообще, по уму, надо пользоваться URL, что более универсально... Пример из жизни, надо обратиться к файлу внутри JAR в EAR, при чем надо учитывать, что на аппсервере все может деплоиться как папочками, тогда протокол обращения к файлу внутри распакованого джарника будет file://, так и архивом, тогда протокол обращения к файлу будет JAR... |
| Автор: Alita 28.9.2006, 12:16 |
| Похожий метод есть у класса String: public boolean endsWith(String suffix) Tests if this string ends with the specified suffix. Parameters:suffix - the suffix. (в данном случае "/") Returns:true if the character sequence represented by the argument is a suffix of the character sequence represented by this object; false otherwise. А вообще File и всякие OutputStream'ы воспринимают путь вне зависимости от наличия в конце разделителя. А для получения разделителя можно пользоваться System.getProperty("file.separator"). |
| Автор: alexandro 4.10.2006, 06:58 |
| new File(File parent, String child); Creates a new File instance from a parent abstract pathname and a child pathname string. Сам добавит /, если надо. |