Package sk.iway.iwcm
Class FileTools
java.lang.Object
sk.iway.iwcm.FileTools
FileTools.java - podporne nastroje pre pracu so subormi
-
Field Summary
FieldsModifier and TypeFieldDescription -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
copyDirectory
(IwcmFile from, IwcmFile to) static boolean
POZOR pre normalne kopirovanie pouzite verziu s IwcmFilestatic boolean
copyFile
(InputStream is, IwcmFile dest) Copy InputStream to IwcmFile and close InputStreamstatic boolean
Skopiruje subor src do outstatic boolean
Skopiruje subor src do deststatic void
Vytvori defaultne adresare pre file system (/images,/files,/images/gallery,/images/video)static boolean
deleteDirTree
(IwcmFile file) Rekurzivne vymaze adr.static boolean
deleteDirTree
(IwcmFile file, long minFileAge) Zmaze v adresarovej strukture subory starsie ako zadany pocet milisekund, zmaze aj prazdne adresaredirectoryScan
(String rootUrl, String... patterns) Vyhlada rekurzivne subory, ktore vyhovuju zadanemu pattern-ustatic boolean
downloadFile
(String url, String localPath) static boolean
downloadFile
(String url, String localPath, String[] reqProperty) static boolean
downloadFile
(String url, String localPath, String[] reqProperty, int redirectCounter, int timeOutSeconds) Stiahne subor so zadanym URL do lokalneho suborustatic boolean
static List<UnusedFile>
getDirFileUsage
(String rootUrl, javax.servlet.http.HttpServletRequest request) Metoda vrati zoznam stranok triedy UnusedFile (nazov suboru + virtualna parent cesta) a suborov, ktore nie su pouzivane t.z.getDirsNames
(String rootURL) static String
getFileExtension
(String fileName) static String
getFileIcon
(String url) Vrati URL obrazku s ikonou suborustatic String
getFileLength
(String url) Vrati naformatovanu velkost suboru v B, kB, MBstatic String
getFileLength
(String url, boolean exactFormat) Vrati naformatovanu velkost suboru v B, kB, MBstatic String
getFileNameWithoutExtension
(String fileName) static String
getFilePathWithoutExtension
(String filePath) getFilesRecursive
(IwcmFile root, IwcmFileFilter filter) vrati rekurzivne vsetky subory, ktore vyhovuju vlozenemu filtrugetFileUsage
(String url, Identity user) Metoda vrati zoznam stranok (url+nazov) a suborov kde sa nachadzastatic String
getFormatFileSize
(long lengthLong, boolean exactFormat) Vrati naformatovanu velkost suboru v B, kB, MBstatic boolean
isDirectory
(String url) static boolean
Skontroluje, ci subor na zadanom URL existuje a je to citatelny suborstatic boolean
isFileAllowedForUpload
(Identity user, String fileName) Overi, ci je mozne nahrat dany subor na serverstatic boolean
isFileEditable
(String url) static boolean
static boolean
isVideoFile
(String name) listFilesByType
(File directory, String type) Vyhlada rekurzivne dany typ suborov.static boolean
Presunie subor z URL adresy orig na deststatic boolean
Presunie subor, ak sa presun nepodari na urovni FS pokusi sa subor prekopirovat a povodny zmazatstatic String
readFileContent
(String url) Nacita obsah suboru na zadanej ceste do retazcastatic String
readFileContent
(String url, String encoding) Nacita obsah suboru na zadanom URL do retazcastatic boolean
saveFileContent
(String url, String data) static boolean
saveFileContent
(String url, String data, String encoding) Ulozi obsah retazca do suboru zadaneho URL so zadanym kodovanimsortFilesByName
(List<IwcmFile> files) Usortuje subory podla menastatic IwcmFile[]
sortFilesByName
(IwcmFile[] arrayfile) Usortuje subory podla menastatic String
Na Tomcat8/Java8 sa symlinky interpretuju cez servletContext.getRealPath ako cesty mimo rootu a nie ako root/images, z /www/tomcat-test/webapps/webjet/images sa stane /mnt/agluster/images co robi potom bordel tato metoda zabezpeci spatne premenovanie cesty zacinajucu na root
-
Field Details
-
pictureExtensions
-
videoExtensions
-
-
Constructor Details
-
FileTools
protected FileTools()
-
-
Method Details
-
copyFile
Skopiruje subor src do dest- Parameters:
src
-dest
-- Returns:
-
copyFile
POZOR pre normalne kopirovanie pouzite verziu s IwcmFile- Parameters:
src
-dest
-- Returns:
-
copyFile
Copy InputStream to IwcmFile and close InputStream- Parameters:
is
- - InputStreamdest
-- Returns:
-
moveFile
Presunie subor z URL adresy orig na dest- Parameters:
origUrl
-destUrl
-- Returns:
-
moveFile
Presunie subor, ak sa presun nepodari na urovni FS pokusi sa subor prekopirovat a povodny zmazat- Parameters:
origFile
-destFile
-- Returns:
-
deleteDirTree
Rekurzivne vymaze adr. strukturu- Parameters:
file
-- Returns:
-
deleteDirTree
Zmaze v adresarovej strukture subory starsie ako zadany pocet milisekund, zmaze aj prazdne adresare- Parameters:
file
-minFileAge
-- Returns:
-
saveFileContent
-
saveFileContent
Ulozi obsah retazca do suboru zadaneho URL so zadanym kodovanim- Parameters:
url
- - napr. /files/subor.txtdata
- - obsah suboruencoding
- - kodovanie, napr. windows-1250- Returns:
-
getFileIcon
Vrati URL obrazku s ikonou suboru- Parameters:
url
-- Returns:
-
getFileLength
Vrati naformatovanu velkost suboru v B, kB, MB- Parameters:
url
-- Returns:
-
getFileLength
Vrati naformatovanu velkost suboru v B, kB, MB- Parameters:
url
-exactFormat
- - ak je nastavene na false, tak iba MB vracia s desatinnymi miestami- Returns:
-
getFormatFileSize
Vrati naformatovanu velkost suboru v B, kB, MB- Parameters:
lengthLong
-exactFormat
- - ak je nastavene na false, tak iba MB vracia s desatinnymi miestami- Returns:
-
getFileUsage
Metoda vrati zoznam stranok (url+nazov) a suborov kde sa nachadza- Parameters:
url
- - url adresa suboru, napr. /images/wjlogo.gif- Returns:
-
copyFile
Skopiruje subor src do out- Parameters:
src
-out
-- Returns:
-
isFile
Skontroluje, ci subor na zadanom URL existuje a je to citatelny subor- Parameters:
url
-- Returns:
-
isDirectory
-
exists
-
getFileExtension
-
getFileNameWithoutExtension
-
getFilePathWithoutExtension
-
copyDirectory
- Throws:
IOException
-
downloadFile
-
downloadFile
-
downloadFile
public static boolean downloadFile(String url, String localPath, String[] reqProperty, int redirectCounter, int timeOutSeconds) Stiahne subor so zadanym URL do lokalneho suboru- Parameters:
url
-localPath
-reqProperty
- - prida RequestProperty- Returns:
-
isImage
-
isVideoFile
-
sortFilesByName
Usortuje subory podla mena- Parameters:
arrayfile
-- Returns:
-
sortFilesByName
Usortuje subory podla mena- Parameters:
files
-- Returns:
-
isFileEditable
-
getFilesRecursive
vrati rekurzivne vsetky subory, ktore vyhovuju vlozenemu filtru- Parameters:
root
- adresar v ktorom chceme vyhladat suboryfilter
- instancia rozhrania filter s podmienkami akceptacie suborov- Returns:
-
isFileAllowedForUpload
Overi, ci je mozne nahrat dany subor na server- Parameters:
user
-fileName
-- Returns:
-
symlinkReplaceToRootPath
Na Tomcat8/Java8 sa symlinky interpretuju cez servletContext.getRealPath ako cesty mimo rootu a nie ako root/images, z /www/tomcat-test/webapps/webjet/images sa stane /mnt/agluster/images co robi potom bordel tato metoda zabezpeci spatne premenovanie cesty zacinajucu na root- Parameters:
path
-- Returns:
-
createDefaultStaticContentFolders
public static void createDefaultStaticContentFolders()Vytvori defaultne adresare pre file system (/images,/files,/images/gallery,/images/video) -
getDirsNames
-
readFileContent
Nacita obsah suboru na zadanej ceste do retazca- Parameters:
url
- - cesta k suboru typu /files/admin.txt- Returns:
-
readFileContent
Nacita obsah suboru na zadanom URL do retazca- Parameters:
url
- - cesta k suboru typu /files/admin.txtencoding
- - kodovanie suboru, napr. windows-1250- Returns:
-
getDirFileUsage
public static List<UnusedFile> getDirFileUsage(String rootUrl, javax.servlet.http.HttpServletRequest request) Metoda vrati zoznam stranok triedy UnusedFile (nazov suboru + virtualna parent cesta) a suborov, ktore nie su pouzivane t.z. nenachadzaju sa na ziadnej stranke
prehladava aj tieto umiestnenia:
banner_banners stlpec banner_location a banner_redirect
calendar stlpec description
document_forum stlpec question
gallery stlpec image_path (iba pre subory v /images)
media stlpec media_link
tips_of_the_day stlpec tip_text- Parameters:
rootUrl
- - url adresa, napr. /files/mac, ktoreho obsah sa prehladava rekurzivnerequest
- - request, z ktoreho zistime domeny- Returns:
-
directoryScan
Vyhlada rekurzivne subory, ktore vyhovuju zadanemu pattern-u- Parameters:
rootUrl
- - korenovy adresar z ktoreho zacina vyhladavaniepatterns
- - wild-card patterny (pouzije regex kde "*" nahradi ".*", "?" nahradi ".?" a odescapuje "."). Prefix "-" pred patternom znamena ze subory nesmu vyhovovat danemu patternu- Returns:
- zoznam suborov v
Column
strukture
-
listFilesByType
Vyhlada rekurzivne dany typ suborov.- Parameters:
directory
-type
-- Returns:
-