net.ranides.assira.io
Class PathHelper

java.lang.Object
  extended by net.ranides.assira.io.PathHelper

public final class PathHelper
extends Object

Klasa pomocnicza do przekształcania i parsowania ścieżek w systemie plików.

Author:
ranides

Nested Class Summary
static class PathHelper.FilePath
          Lista reprezentująca ścieżkę do pliku rozbitą na fragmenty (gdzie każdy fragment to jeden poziom w systemie plików).
 
Method Summary
static String asAbsolute(File file)
          Zamienia podaną względną ścieżkę na absolutną.
static String asAbsolute(String file)
          Zamienia podaną względną ścieżkę na absolutną.
static File asNormalized(File file)
          Normalizuje podaną ścieżkę, eliminując wszystkie zbędne komponenty (np usuwając {@code "a/.
static String asNormalized(String path)
          Normalizuje podaną ścieżkę, eliminując wszystkie zbędne komponenty (np usuwając {@code "a/.
static String asRelative(File file)
          Zwraca względną ścieżkę do podanego pliku względem katalogu bieżącego aplikacji.
static String asRelative(File home, File file)
          Zwraca względną ścieżkę do podanego pliku względem katalogu domowego.
static String asRelative(PathHelper.FilePath home, PathHelper.FilePath file)
          Zwraca względną ścieżkę do podanego pliku względem katalogu domowego.
static String asRelative(String file)
          Zwraca względną ścieżkę do podanego pliku względem katalogu bieżącego aplikacji.
static String asRelative(String home, String file)
          Zwraca względną ścieżkę do podanego pliku względem katalogu domowego.
static String changeExtension(String path, String extension)
          Zwraca nową ścieżkę zmieniając rozszerzenie pliku, na który wskazywała ścieżka podana jako argument.
static PathHelper.FilePath explode(File file)
          Rozbija podaną ścieżkę na fragmenty i zwraca wynik w postaci obiektu PathHelper.FilePath.
static List<String> explode(String path)
          Rozbija podaną ścieżkę na fragmenty i zwraca wynik w postaci obiektu PathHelper.FilePath.
static String getClassDir(Class<?> clazz)
          Zwraca ścieżkę względną, w jakiej umieszczona zostałaby podana klasa - tworzy listę wszystkich katalogów pośrednich na podstawie pakietu, w którym klasa jest zadeklarowana.
static String getDrive(File file)
          Wyciąga z podanej ścieżki nazwę dysku (litera+dwukropek).
static String getExtension(String path)
          Zwraca rozszerzenie pliku, na który wskazuje ścieżka.
static File getParent(File file)
          Zwraca ścieżkę wskazującą na katalog zawierający podany plik/katalog.
static String getSimpleName(String name)
          Usuwa z podanej pełnej nazwy pliku rozszerzenie, zwracając nazwę przyjazną dla użytkownika.
static boolean hasExtension(String path, String extension)
          Sprawdza, czy ścieżka wskazuje na plik z podanym rozszerzeniem.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getDrive

public static String getDrive(File file)
Wyciąga z podanej ścieżki nazwę dysku (litera+dwukropek). Metoda tylko dla systemów z rodziny Windows. Na systemach unix-like zwraca pusty String.

Parameters:
file -
Returns:

explode

public static PathHelper.FilePath explode(File file)
                                   throws PathConvertException
Rozbija podaną ścieżkę na fragmenty i zwraca wynik w postaci obiektu PathHelper.FilePath.

Parameters:
file -
Returns:
Throws:
PathConvertException - jeśli nie udało się pobrać kanonicznej ścieżki do pliku

explode

public static List<String> explode(String path)
                            throws PathConvertException
Rozbija podaną ścieżkę na fragmenty i zwraca wynik w postaci obiektu PathHelper.FilePath.

Parameters:
path -
Returns:
Throws:
PathConvertException - jeśli nie udało się pobrać kanonicznej ścieżki do pliku

asRelative

public static String asRelative(PathHelper.FilePath home,
                                PathHelper.FilePath file)
                         throws PathConvertException
Zwraca względną ścieżkę do podanego pliku względem katalogu domowego.

Parameters:
home - ścieżka do katalogu domowego
file - ścieżka do pliku
Returns:
Throws:
PathConvertException - jeśli pliki znajdują się na różnych dyskach

asRelative

public static String asRelative(File home,
                                File file)
                         throws PathConvertException
Zwraca względną ścieżkę do podanego pliku względem katalogu domowego.

Parameters:
home - ścieżka do katalogu domowego
file - ścieżka do pliku
Returns:
Throws:
PathConvertException - jeśli pliki znajdują się na różnych dyskach, lub ścieżka home nie wskazuje na katalog

asRelative

public static String asRelative(String home,
                                String file)
                         throws PathConvertException
Zwraca względną ścieżkę do podanego pliku względem katalogu domowego.

Parameters:
home - ścieżka do katalogu domowego
file - ścieżka do pliku
Returns:
Throws:
PathConvertException - jeśli pliki znajdują się na różnych dyskach, lub ścieżka home nie wskazuje na katalog

asRelative

public static String asRelative(String file)
                         throws PathConvertException
Zwraca względną ścieżkę do podanego pliku względem katalogu bieżącego aplikacji.

Parameters:
file -
Returns:
Throws:
PathConvertException - jeśli plik znajduje się na innym dysku, niż katalog bieżący

asRelative

public static String asRelative(File file)
                         throws PathConvertException
Zwraca względną ścieżkę do podanego pliku względem katalogu bieżącego aplikacji.

Parameters:
file -
Returns:
Throws:
PathConvertException - jeśli plik znajduje się na innym dysku, niż katalog bieżący

asAbsolute

public static String asAbsolute(String file)
Zamienia podaną względną ścieżkę na absolutną. Strategia konwersji jest zależna od systemu operacyjnego oraz wersji JDK. Zobacz opis funkcji File.getAbsolutePath().

Parameters:
file -
Returns:

asAbsolute

public static String asAbsolute(File file)
Zamienia podaną względną ścieżkę na absolutną. Strategia konwersji jest zależna od systemu operacyjnego oraz wersji JDK. Aby poznać szczegóły zobacz opis funkcji File.getAbsolutePath().

Parameters:
file -
Returns:

asNormalized

public static File asNormalized(File file)
Normalizuje podaną ścieżkę, eliminując wszystkie zbędne komponenty (np usuwając "a/./b" albo redukując "a/../b". Aby poznać szczegóły zobacz opis funkcji URI.normalize().

Parameters:
file -
Returns:

asNormalized

public static String asNormalized(String path)
Normalizuje podaną ścieżkę, eliminując wszystkie zbędne komponenty (np usuwając "a/./b" albo redukując "a/../b". Aby poznać szczegóły zobacz opis funkcji URI.normalize().

Parameters:
path -
Returns:

getExtension

public static String getExtension(String path)
Zwraca rozszerzenie pliku, na który wskazuje ścieżka.

Parameters:
path -
Returns:

hasExtension

public static boolean hasExtension(String path,
                                   String extension)
Sprawdza, czy ścieżka wskazuje na plik z podanym rozszerzeniem.

Parameters:
path -
extension -
Returns:

changeExtension

public static String changeExtension(String path,
                                     String extension)
Zwraca nową ścieżkę zmieniając rozszerzenie pliku, na który wskazywała ścieżka podana jako argument. Funkcja nie wykonuje operacji na systemie plików - jak wszystkie funkcje z klasy PathHelper, metoda pracuje tylko i wyłącznie na nazwach.

Parameters:
path -
extension -
Returns:

getClassDir

public static String getClassDir(Class<?> clazz)
Zwraca ścieżkę względną, w jakiej umieszczona zostałaby podana klasa - tworzy listę wszystkich katalogów pośrednich na podstawie pakietu, w którym klasa jest zadeklarowana.

Parameters:
clazz -
Returns:

getSimpleName

public static String getSimpleName(String name)
Usuwa z podanej pełnej nazwy pliku rozszerzenie, zwracając nazwę przyjazną dla użytkownika.

Parameters:
name -
Returns:

getParent

public static File getParent(File file)
                      throws PathConvertException
Zwraca ścieżkę wskazującą na katalog zawierający podany plik/katalog. W razie potrzeby funkcja konwertuje ścieżkę do lokalizacji absolutnej (np jeśli zostanie wywołana na rzecz ścieżki "."). Jeśli konwersja nie jest konieczna, podana ścieżka względna nadal zostaje zwrócona w postaci względnej (np "./local/name" zamieni się na "./local")

Parameters:
file -
Returns:
Throws:
PathConvertException


Copyright © 2013. All Rights Reserved.