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 void copyDirectory(File source, File destination)
036 throws IOException {
037
038 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
039
040 getFile().copyDirectory(source, destination);
041 }
042
043 public static void copyDirectory(
044 String sourceDirName, String destinationDirName)
045 throws IOException {
046
047 PortalFilePermission.checkCopy(sourceDirName, destinationDirName);
048
049 getFile().copyDirectory(sourceDirName, destinationDirName);
050 }
051
052 public static void copyFile(File source, File destination)
053 throws IOException {
054
055 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
056
057 getFile().copyFile(source, destination);
058 }
059
060 public static void copyFile(File source, File destination, boolean lazy)
061 throws IOException {
062
063 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
064
065 getFile().copyFile(source, destination, lazy);
066 }
067
068 public static void copyFile(String source, String destination)
069 throws IOException {
070
071 PortalFilePermission.checkCopy(source, destination);
072
073 getFile().copyFile(source, destination);
074 }
075
076 public static void copyFile(String source, String destination, boolean lazy)
077 throws IOException {
078
079 PortalFilePermission.checkCopy(source, destination);
080
081 getFile().copyFile(source, destination, lazy);
082 }
083
084 public static File createTempFile() {
085 PortalFilePermission.checkWrite(
086 SystemProperties.get(SystemProperties.TMP_DIR));
087
088 return getFile().createTempFile();
089 }
090
091 public static File createTempFile(byte[] bytes) throws IOException {
092 PortalFilePermission.checkWrite(
093 SystemProperties.get(SystemProperties.TMP_DIR));
094
095 return getFile().createTempFile(bytes);
096 }
097
098 public static File createTempFile(InputStream is) throws IOException {
099 PortalFilePermission.checkWrite(
100 SystemProperties.get(SystemProperties.TMP_DIR));
101
102 return getFile().createTempFile(is);
103 }
104
105 public static File createTempFile(String extension) {
106 PortalFilePermission.checkWrite(
107 SystemProperties.get(SystemProperties.TMP_DIR));
108
109 return getFile().createTempFile(extension);
110 }
111
112 public static File createTempFile(String prefix, String extension) {
113 PortalFilePermission.checkWrite(
114 SystemProperties.get(SystemProperties.TMP_DIR));
115
116 return getFile().createTempFile(prefix, extension);
117 }
118
119 public static String createTempFileName() {
120 PortalFilePermission.checkWrite(
121 SystemProperties.get(SystemProperties.TMP_DIR));
122
123 return getFile().createTempFileName();
124 }
125
126 public static String createTempFileName(String extension) {
127 PortalFilePermission.checkWrite(
128 SystemProperties.get(SystemProperties.TMP_DIR));
129
130 return getFile().createTempFileName(extension);
131 }
132
133 public static String createTempFileName(String prefix, String extension) {
134 PortalFilePermission.checkWrite(
135 SystemProperties.get(SystemProperties.TMP_DIR));
136
137 return getFile().createTempFileName(prefix, extension);
138 }
139
140 public static File createTempFolder() {
141 PortalFilePermission.checkWrite(
142 SystemProperties.get(SystemProperties.TMP_DIR));
143
144 return getFile().createTempFolder();
145 }
146
147 public static String decodeSafeFileName(String fileName) {
148 return getFile().decodeSafeFileName(fileName);
149 }
150
151 public static boolean delete(File file) {
152 PortalFilePermission.checkDelete(_getPath(file));
153
154 return getFile().delete(file);
155 }
156
157 public static boolean delete(String file) {
158 PortalFilePermission.checkDelete(file);
159
160 return getFile().delete(file);
161 }
162
163 public static void deltree(File directory) {
164 PortalFilePermission.checkDelete(_getPath(directory));
165
166 getFile().deltree(directory);
167 }
168
169 public static void deltree(String directory) {
170 PortalFilePermission.checkDelete(directory);
171
172 getFile().deltree(directory);
173 }
174
175 public static String encodeSafeFileName(String fileName) {
176 return getFile().encodeSafeFileName(fileName);
177 }
178
179 public static boolean exists(File file) {
180 PortalFilePermission.checkRead(_getPath(file));
181
182 return getFile().exists(file);
183 }
184
185 public static boolean exists(String fileName) {
186 PortalFilePermission.checkRead(fileName);
187
188 return getFile().exists(fileName);
189 }
190
191
200 public static String extractText(InputStream is, String fileName) {
201 return getFile().extractText(is, fileName);
202 }
203
204 public static String extractText(
205 InputStream is, String fileName, int maxStringLength) {
206
207 return getFile().extractText(is, fileName, maxStringLength);
208 }
209
210 public static String[] find(
211 String directory, String includes, String excludes) {
212
213 PortalFilePermission.checkRead(directory);
214
215 return getFile().find(directory, includes, excludes);
216 }
217
218 public static String getAbsolutePath(File file) {
219 return getFile().getAbsolutePath(file);
220 }
221
222 public static byte[] getBytes(Class<?> clazz, String fileName)
223 throws Exception {
224
225 return getFile().getBytes(clazz, fileName);
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(String pathName) {
316 PortalFilePermission.checkCopy(pathName, pathName);
317
318 getFile().mkdirs(pathName);
319 }
320
321 public static boolean move(File source, File destination) {
322 PortalFilePermission.checkMove(_getPath(source), _getPath(destination));
323
324 return getFile().move(source, destination);
325 }
326
327 public static boolean move(
328 String sourceFileName, String destinationFileName) {
329
330 PortalFilePermission.checkMove(sourceFileName, destinationFileName);
331
332 return getFile().move(sourceFileName, destinationFileName);
333 }
334
335 public static String read(File file) throws IOException {
336 PortalFilePermission.checkRead(_getPath(file));
337
338 return getFile().read(file);
339 }
340
341 public static String read(File file, boolean raw) throws IOException {
342 PortalFilePermission.checkRead(_getPath(file));
343
344 return getFile().read(file, raw);
345 }
346
347 public static String read(String fileName) throws IOException {
348 PortalFilePermission.checkRead(fileName);
349
350 return getFile().read(fileName);
351 }
352
353 public static String replaceSeparator(String fileName) {
354 return getFile().replaceSeparator(fileName);
355 }
356
357 public static File[] sortFiles(File[] files) {
358 return getFile().sortFiles(files);
359 }
360
361 public static String stripExtension(String fileName) {
362 return getFile().stripExtension(fileName);
363 }
364
365 public static List<String> toList(Reader reader) {
366 return getFile().toList(reader);
367 }
368
369 public static List<String> toList(String fileName) {
370 return getFile().toList(fileName);
371 }
372
373 public static Properties toProperties(FileInputStream fis) {
374 return getFile().toProperties(fis);
375 }
376
377 public static Properties toProperties(String fileName) {
378 PortalFilePermission.checkRead(fileName);
379
380 return getFile().toProperties(fileName);
381 }
382
383 public static void touch(File file) throws IOException {
384 PortalFilePermission.checkWrite(_getPath(file));
385
386 getFile().touch(file);
387 }
388
389 public static void touch(String fileName) throws IOException {
390 PortalFilePermission.checkWrite(fileName);
391
392 getFile().touch(fileName);
393 }
394
395 public static void unzip(File source, File destination) {
396 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
397
398 getFile().unzip(source, destination);
399 }
400
401 public static void write(File file, byte[] bytes) throws IOException {
402 write(file, bytes, false);
403 }
404
405 public static void write(File file, byte[] bytes, boolean append)
406 throws IOException {
407
408 PortalFilePermission.checkWrite(_getPath(file));
409
410 getFile().write(file, bytes, append);
411 }
412
413 public static void write(File file, byte[] bytes, int offset, int length)
414 throws IOException {
415
416 write(file, bytes, offset, length, false);
417 }
418
419 public static void write(
420 File file, byte[] bytes, int offset, int length, boolean append)
421 throws IOException {
422
423 PortalFilePermission.checkWrite(_getPath(file));
424
425 getFile().write(file, bytes, offset, length, append);
426 }
427
428 public static void write(File file, InputStream is) throws IOException {
429 PortalFilePermission.checkWrite(_getPath(file));
430
431 getFile().write(file, is);
432 }
433
434 public static void write(File file, String s) throws IOException {
435 PortalFilePermission.checkWrite(_getPath(file));
436
437 getFile().write(file, s);
438 }
439
440 public static void write(File file, String s, boolean lazy)
441 throws IOException {
442
443 PortalFilePermission.checkWrite(_getPath(file));
444
445 getFile().write(file, s, lazy);
446 }
447
448 public static void write(File file, String s, boolean lazy, boolean append)
449 throws IOException {
450
451 PortalFilePermission.checkWrite(_getPath(file));
452
453 getFile().write(file, s, lazy, append);
454 }
455
456 public static void write(String fileName, byte[] bytes) throws IOException {
457 PortalFilePermission.checkWrite(fileName);
458
459 getFile().write(fileName, bytes);
460 }
461
462 public static void write(String fileName, InputStream is)
463 throws IOException {
464
465 PortalFilePermission.checkWrite(fileName);
466
467 getFile().write(fileName, is);
468 }
469
470 public static void write(String fileName, String s) throws IOException {
471 PortalFilePermission.checkWrite(fileName);
472
473 getFile().write(fileName, s);
474 }
475
476 public static void write(String fileName, String s, boolean lazy)
477 throws IOException {
478
479 PortalFilePermission.checkWrite(fileName);
480
481 getFile().write(fileName, s, lazy);
482 }
483
484 public static void write(
485 String fileName, String s, boolean lazy, boolean append)
486 throws IOException {
487
488 PortalFilePermission.checkWrite(fileName);
489
490 getFile().write(fileName, s, lazy, append);
491 }
492
493 public static void write(String pathName, String fileName, String s)
494 throws IOException {
495
496 PortalFilePermission.checkWrite(pathName);
497
498 getFile().write(pathName, fileName, s);
499 }
500
501 public static void write(
502 String pathName, String fileName, String s, boolean lazy)
503 throws IOException {
504
505 PortalFilePermission.checkWrite(pathName);
506
507 getFile().write(pathName, fileName, s, lazy);
508 }
509
510 public static void write(
511 String pathName, String fileName, String s, boolean lazy,
512 boolean append)
513 throws IOException {
514
515 PortalFilePermission.checkWrite(pathName);
516
517 getFile().write(pathName, fileName, s, lazy, append);
518 }
519
520 public void setFile(com.liferay.portal.kernel.util.File file) {
521 PortalRuntimePermission.checkSetBeanProperty(getClass());
522
523 _file = file;
524 }
525
526 private static String _getPath(File file) {
527 if (file == null) {
528 return null;
529 }
530
531 return file.getPath();
532 }
533
534 private static com.liferay.portal.kernel.util.File _file;
535
536 }