001
014
015 package com.liferay.portal.kernel.util;
016
017 import com.liferay.portal.kernel.security.pacl.permission.PortalFilePermission;
018 import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
019
020 import java.io.File;
021 import java.io.FileInputStream;
022 import java.io.IOException;
023 import java.io.InputStream;
024 import java.io.Reader;
025
026 import java.util.List;
027 import java.util.Properties;
028
029
033 public class FileUtil {
034
035 public static String appendParentheticalSuffix(
036 String fileName, String suffix) {
037
038 return getFile().appendParentheticalSuffix(fileName, suffix);
039 }
040
041 public static void copyDirectory(File source, File destination)
042 throws IOException {
043
044 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
045
046 getFile().copyDirectory(source, destination);
047 }
048
049 public static void copyDirectory(
050 String sourceDirName, String destinationDirName)
051 throws IOException {
052
053 PortalFilePermission.checkCopy(sourceDirName, destinationDirName);
054
055 getFile().copyDirectory(sourceDirName, destinationDirName);
056 }
057
058 public static void copyFile(File source, File destination)
059 throws IOException {
060
061 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
062
063 getFile().copyFile(source, destination);
064 }
065
066 public static void copyFile(File source, File destination, boolean lazy)
067 throws IOException {
068
069 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
070
071 getFile().copyFile(source, destination, lazy);
072 }
073
074 public static void copyFile(String source, String destination)
075 throws IOException {
076
077 PortalFilePermission.checkCopy(source, destination);
078
079 getFile().copyFile(source, destination);
080 }
081
082 public static void copyFile(String source, String destination, boolean lazy)
083 throws IOException {
084
085 PortalFilePermission.checkCopy(source, destination);
086
087 getFile().copyFile(source, destination, lazy);
088 }
089
090 public static File createTempFile() {
091 PortalFilePermission.checkWrite(
092 SystemProperties.get(SystemProperties.TMP_DIR));
093
094 return getFile().createTempFile();
095 }
096
097 public static File createTempFile(byte[] bytes) throws IOException {
098 PortalFilePermission.checkWrite(
099 SystemProperties.get(SystemProperties.TMP_DIR));
100
101 return getFile().createTempFile(bytes);
102 }
103
104 public static File createTempFile(InputStream is) throws IOException {
105 PortalFilePermission.checkWrite(
106 SystemProperties.get(SystemProperties.TMP_DIR));
107
108 return getFile().createTempFile(is);
109 }
110
111 public static File createTempFile(String extension) {
112 PortalFilePermission.checkWrite(
113 SystemProperties.get(SystemProperties.TMP_DIR));
114
115 return getFile().createTempFile(extension);
116 }
117
118 public static File createTempFile(String prefix, String extension) {
119 PortalFilePermission.checkWrite(
120 SystemProperties.get(SystemProperties.TMP_DIR));
121
122 return getFile().createTempFile(prefix, extension);
123 }
124
125 public static String createTempFileName() {
126 PortalFilePermission.checkWrite(
127 SystemProperties.get(SystemProperties.TMP_DIR));
128
129 return getFile().createTempFileName();
130 }
131
132 public static String createTempFileName(String extension) {
133 PortalFilePermission.checkWrite(
134 SystemProperties.get(SystemProperties.TMP_DIR));
135
136 return getFile().createTempFileName(extension);
137 }
138
139 public static String createTempFileName(String prefix, String extension) {
140 PortalFilePermission.checkWrite(
141 SystemProperties.get(SystemProperties.TMP_DIR));
142
143 return getFile().createTempFileName(prefix, extension);
144 }
145
146 public static File createTempFolder() throws IOException {
147 PortalFilePermission.checkWrite(
148 SystemProperties.get(SystemProperties.TMP_DIR));
149
150 return getFile().createTempFolder();
151 }
152
153 public static String decodeSafeFileName(String fileName) {
154 return getFile().decodeSafeFileName(fileName);
155 }
156
157 public static boolean delete(File file) {
158 PortalFilePermission.checkDelete(_getPath(file));
159
160 return getFile().delete(file);
161 }
162
163 public static boolean delete(String file) {
164 PortalFilePermission.checkDelete(file);
165
166 return getFile().delete(file);
167 }
168
169 public static void deltree(File directory) {
170 PortalFilePermission.checkDelete(_getPath(directory));
171
172 getFile().deltree(directory);
173 }
174
175 public static void deltree(String directory) {
176 PortalFilePermission.checkDelete(directory);
177
178 getFile().deltree(directory);
179 }
180
181 public static String encodeSafeFileName(String fileName) {
182 return getFile().encodeSafeFileName(fileName);
183 }
184
185 public static boolean exists(File file) {
186 PortalFilePermission.checkRead(_getPath(file));
187
188 return getFile().exists(file);
189 }
190
191 public static boolean exists(String fileName) {
192 PortalFilePermission.checkRead(fileName);
193
194 return getFile().exists(fileName);
195 }
196
197
206 public static String extractText(InputStream is, String fileName) {
207 return getFile().extractText(is, fileName);
208 }
209
210 public static String extractText(
211 InputStream is, String fileName, int maxStringLength) {
212
213 return getFile().extractText(is, fileName, maxStringLength);
214 }
215
216 public static String[] find(
217 String directory, String includes, String excludes) {
218
219 PortalFilePermission.checkRead(directory);
220
221 return getFile().find(directory, includes, excludes);
222 }
223
224 public static String getAbsolutePath(File file) {
225 return getFile().getAbsolutePath(file);
226 }
227
228 public static byte[] getBytes(File file) throws IOException {
229 PortalFilePermission.checkRead(_getPath(file));
230
231 return getFile().getBytes(file);
232 }
233
234 public static byte[] getBytes(InputStream is) throws IOException {
235 return getFile().getBytes(is);
236 }
237
238 public static byte[] getBytes(InputStream is, int bufferSize)
239 throws IOException {
240
241 return getFile().getBytes(is);
242 }
243
244 public static byte[] getBytes(
245 InputStream is, int bufferSize, boolean cleanUpStream)
246 throws IOException {
247
248 return getFile().getBytes(is, bufferSize, cleanUpStream);
249 }
250
251 public static String getExtension(String fileName) {
252 return getFile().getExtension(fileName);
253 }
254
255 public static com.liferay.portal.kernel.util.File getFile() {
256 PortalRuntimePermission.checkGetBeanProperty(FileUtil.class);
257
258 return _file;
259 }
260
261 public static String getMD5Checksum(java.io.File file) throws IOException {
262 return getFile().getMD5Checksum(file);
263 }
264
265 public static String getPath(String fullFileName) {
266 return getFile().getPath(fullFileName);
267 }
268
269 public static String getShortFileName(String fullFileName) {
270 return getFile().getShortFileName(fullFileName);
271 }
272
273 public static boolean isAscii(File file) throws IOException {
274 PortalFilePermission.checkRead(_getPath(file));
275
276 return getFile().isAscii(file);
277 }
278
279 public static boolean isSameContent(File file, byte[] bytes, int length) {
280 PortalFilePermission.checkRead(_getPath(file));
281
282 return getFile().isSameContent(file, bytes, length);
283 }
284
285 public static boolean isSameContent(File file, String s) {
286 PortalFilePermission.checkRead(_getPath(file));
287
288 return getFile().isSameContent(file, s);
289 }
290
291 public static String[] listDirs(File file) {
292 PortalFilePermission.checkRead(_getPath(file));
293
294 return getFile().listDirs(file);
295 }
296
297 public static String[] listDirs(String fileName) {
298 PortalFilePermission.checkRead(fileName);
299
300 return getFile().listDirs(fileName);
301 }
302
303 public static String[] listFiles(File file) {
304 PortalFilePermission.checkRead(_getPath(file));
305
306 return getFile().listFiles(file);
307 }
308
309 public static String[] listFiles(String fileName) {
310 PortalFilePermission.checkRead(fileName);
311
312 return getFile().listFiles(fileName);
313 }
314
315 public static void mkdirs(File file) throws IOException {
316 PortalFilePermission.checkCopy(_getPath(file), _getPath(file));
317
318 getFile().mkdirs(file);
319 }
320
321 public static void mkdirs(String pathName) {
322 PortalFilePermission.checkCopy(pathName, pathName);
323
324 getFile().mkdirs(pathName);
325 }
326
327 public static boolean move(File source, File destination) {
328 PortalFilePermission.checkMove(_getPath(source), _getPath(destination));
329
330 return getFile().move(source, destination);
331 }
332
333 public static boolean move(
334 String sourceFileName, String destinationFileName) {
335
336 PortalFilePermission.checkMove(sourceFileName, destinationFileName);
337
338 return getFile().move(sourceFileName, destinationFileName);
339 }
340
341 public static String read(File file) throws IOException {
342 PortalFilePermission.checkRead(_getPath(file));
343
344 return getFile().read(file);
345 }
346
347 public static String read(File file, boolean raw) throws IOException {
348 PortalFilePermission.checkRead(_getPath(file));
349
350 return getFile().read(file, raw);
351 }
352
353 public static String read(String fileName) throws IOException {
354 PortalFilePermission.checkRead(fileName);
355
356 return getFile().read(fileName);
357 }
358
359 public static String replaceSeparator(String fileName) {
360 return getFile().replaceSeparator(fileName);
361 }
362
363 public static File[] sortFiles(File[] files) {
364 return getFile().sortFiles(files);
365 }
366
367 public static String stripExtension(String fileName) {
368 return getFile().stripExtension(fileName);
369 }
370
371 public static List<String> toList(Reader reader) {
372 return getFile().toList(reader);
373 }
374
375 public static List<String> toList(String fileName) {
376 return getFile().toList(fileName);
377 }
378
379 public static Properties toProperties(FileInputStream fis) {
380 return getFile().toProperties(fis);
381 }
382
383 public static Properties toProperties(String fileName) {
384 PortalFilePermission.checkRead(fileName);
385
386 return getFile().toProperties(fileName);
387 }
388
389 public static void touch(File file) throws IOException {
390 PortalFilePermission.checkWrite(_getPath(file));
391
392 getFile().touch(file);
393 }
394
395 public static void touch(String fileName) throws IOException {
396 PortalFilePermission.checkWrite(fileName);
397
398 getFile().touch(fileName);
399 }
400
401 public static void unzip(File source, File destination) {
402 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
403
404 getFile().unzip(source, destination);
405 }
406
407 public static void write(File file, byte[] bytes) throws IOException {
408 write(file, bytes, false);
409 }
410
411 public static void write(File file, byte[] bytes, boolean append)
412 throws IOException {
413
414 PortalFilePermission.checkWrite(_getPath(file));
415
416 getFile().write(file, bytes, append);
417 }
418
419 public static void write(File file, byte[] bytes, int offset, int length)
420 throws IOException {
421
422 write(file, bytes, offset, length, false);
423 }
424
425 public static void write(
426 File file, byte[] bytes, int offset, int length, boolean append)
427 throws IOException {
428
429 PortalFilePermission.checkWrite(_getPath(file));
430
431 getFile().write(file, bytes, offset, length, append);
432 }
433
434 public static void write(File file, InputStream is) throws IOException {
435 PortalFilePermission.checkWrite(_getPath(file));
436
437 getFile().write(file, is);
438 }
439
440 public static void write(File file, String s) throws IOException {
441 PortalFilePermission.checkWrite(_getPath(file));
442
443 getFile().write(file, s);
444 }
445
446 public static void write(File file, String s, boolean lazy)
447 throws IOException {
448
449 PortalFilePermission.checkWrite(_getPath(file));
450
451 getFile().write(file, s, lazy);
452 }
453
454 public static void write(File file, String s, boolean lazy, boolean append)
455 throws IOException {
456
457 PortalFilePermission.checkWrite(_getPath(file));
458
459 getFile().write(file, s, lazy, append);
460 }
461
462 public static void write(String fileName, byte[] bytes) throws IOException {
463 PortalFilePermission.checkWrite(fileName);
464
465 getFile().write(fileName, bytes);
466 }
467
468 public static void write(String fileName, InputStream is)
469 throws IOException {
470
471 PortalFilePermission.checkWrite(fileName);
472
473 getFile().write(fileName, is);
474 }
475
476 public static void write(String fileName, String s) throws IOException {
477 PortalFilePermission.checkWrite(fileName);
478
479 getFile().write(fileName, s);
480 }
481
482 public static void write(String fileName, String s, boolean lazy)
483 throws IOException {
484
485 PortalFilePermission.checkWrite(fileName);
486
487 getFile().write(fileName, s, lazy);
488 }
489
490 public static void write(
491 String fileName, String s, boolean lazy, boolean append)
492 throws IOException {
493
494 PortalFilePermission.checkWrite(fileName);
495
496 getFile().write(fileName, s, lazy, append);
497 }
498
499 public static void write(String pathName, String fileName, String s)
500 throws IOException {
501
502 PortalFilePermission.checkWrite(pathName);
503
504 getFile().write(pathName, fileName, s);
505 }
506
507 public static void write(
508 String pathName, String fileName, String s, boolean lazy)
509 throws IOException {
510
511 PortalFilePermission.checkWrite(pathName);
512
513 getFile().write(pathName, fileName, s, lazy);
514 }
515
516 public static void write(
517 String pathName, String fileName, String s, boolean lazy,
518 boolean append)
519 throws IOException {
520
521 PortalFilePermission.checkWrite(pathName);
522
523 getFile().write(pathName, fileName, s, lazy, append);
524 }
525
526 public void setFile(com.liferay.portal.kernel.util.File file) {
527 PortalRuntimePermission.checkSetBeanProperty(getClass());
528
529 _file = file;
530 }
531
532 private static String _getPath(File file) {
533 if (file == null) {
534 return null;
535 }
536
537 return file.getPath();
538 }
539
540 private static com.liferay.portal.kernel.util.File _file;
541
542 }