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[] find(
205 String directory, String includes, String excludes) {
206
207 PortalFilePermission.checkRead(directory);
208
209 return getFile().find(directory, includes, excludes);
210 }
211
212 public static String getAbsolutePath(File file) {
213 return getFile().getAbsolutePath(file);
214 }
215
216 public static byte[] getBytes(File file) throws IOException {
217 PortalFilePermission.checkRead(_getPath(file));
218
219 return getFile().getBytes(file);
220 }
221
222 public static byte[] getBytes(InputStream is) throws IOException {
223 return getFile().getBytes(is);
224 }
225
226 public static byte[] getBytes(InputStream is, int bufferSize)
227 throws IOException {
228
229 return getFile().getBytes(is);
230 }
231
232 public static byte[] getBytes(
233 InputStream is, int bufferSize, boolean cleanUpStream)
234 throws IOException {
235
236 return getFile().getBytes(is, bufferSize, cleanUpStream);
237 }
238
239 public static String getExtension(String fileName) {
240 return getFile().getExtension(fileName);
241 }
242
243 public static com.liferay.portal.kernel.util.File getFile() {
244 PortalRuntimePermission.checkGetBeanProperty(FileUtil.class);
245
246 return _file;
247 }
248
249 public static String getMD5Checksum(java.io.File file) throws IOException {
250 return getFile().getMD5Checksum(file);
251 }
252
253 public static String getPath(String fullFileName) {
254 return getFile().getPath(fullFileName);
255 }
256
257 public static String getShortFileName(String fullFileName) {
258 return getFile().getShortFileName(fullFileName);
259 }
260
261 public static boolean isAscii(File file) throws IOException {
262 PortalFilePermission.checkRead(_getPath(file));
263
264 return getFile().isAscii(file);
265 }
266
267 public static boolean isSameContent(File file, byte[] bytes, int length) {
268 PortalFilePermission.checkRead(_getPath(file));
269
270 return getFile().isSameContent(file, bytes, length);
271 }
272
273 public static boolean isSameContent(File file, String s) {
274 PortalFilePermission.checkRead(_getPath(file));
275
276 return getFile().isSameContent(file, s);
277 }
278
279 public static String[] listDirs(File file) {
280 PortalFilePermission.checkRead(_getPath(file));
281
282 return getFile().listDirs(file);
283 }
284
285 public static String[] listDirs(String fileName) {
286 PortalFilePermission.checkRead(fileName);
287
288 return getFile().listDirs(fileName);
289 }
290
291 public static String[] listFiles(File file) {
292 PortalFilePermission.checkRead(_getPath(file));
293
294 return getFile().listFiles(file);
295 }
296
297 public static String[] listFiles(String fileName) {
298 PortalFilePermission.checkRead(fileName);
299
300 return getFile().listFiles(fileName);
301 }
302
303 public static void mkdirs(String pathName) {
304 PortalFilePermission.checkCopy(pathName, pathName);
305
306 getFile().mkdirs(pathName);
307 }
308
309 public static boolean move(File source, File destination) {
310 PortalFilePermission.checkMove(_getPath(source), _getPath(destination));
311
312 return getFile().move(source, destination);
313 }
314
315 public static boolean move(
316 String sourceFileName, String destinationFileName) {
317
318 PortalFilePermission.checkMove(sourceFileName, destinationFileName);
319
320 return getFile().move(sourceFileName, destinationFileName);
321 }
322
323 public static String read(File file) throws IOException {
324 PortalFilePermission.checkRead(_getPath(file));
325
326 return getFile().read(file);
327 }
328
329 public static String read(File file, boolean raw) throws IOException {
330 PortalFilePermission.checkRead(_getPath(file));
331
332 return getFile().read(file, raw);
333 }
334
335 public static String read(String fileName) throws IOException {
336 PortalFilePermission.checkRead(fileName);
337
338 return getFile().read(fileName);
339 }
340
341 public static String replaceSeparator(String fileName) {
342 return getFile().replaceSeparator(fileName);
343 }
344
345 public static File[] sortFiles(File[] files) {
346 return getFile().sortFiles(files);
347 }
348
349 public static String stripExtension(String fileName) {
350 return getFile().stripExtension(fileName);
351 }
352
353 public static List<String> toList(Reader reader) {
354 return getFile().toList(reader);
355 }
356
357 public static List<String> toList(String fileName) {
358 return getFile().toList(fileName);
359 }
360
361 public static Properties toProperties(FileInputStream fis) {
362 return getFile().toProperties(fis);
363 }
364
365 public static Properties toProperties(String fileName) {
366 PortalFilePermission.checkRead(fileName);
367
368 return getFile().toProperties(fileName);
369 }
370
371 public static void touch(File file) throws IOException {
372 PortalFilePermission.checkWrite(_getPath(file));
373
374 getFile().touch(file);
375 }
376
377 public static void touch(String fileName) throws IOException {
378 PortalFilePermission.checkWrite(fileName);
379
380 getFile().touch(fileName);
381 }
382
383 public static void unzip(File source, File destination) {
384 PortalFilePermission.checkCopy(_getPath(source), _getPath(destination));
385
386 getFile().unzip(source, destination);
387 }
388
389 public static void write(File file, byte[] bytes) throws IOException {
390 write(file, bytes, false);
391 }
392
393 public static void write(File file, byte[] bytes, boolean append)
394 throws IOException {
395
396 PortalFilePermission.checkWrite(_getPath(file));
397
398 getFile().write(file, bytes, append);
399 }
400
401 public static void write(File file, byte[] bytes, int offset, int length)
402 throws IOException {
403
404 write(file, bytes, offset, length, false);
405 }
406
407 public static void write(
408 File file, byte[] bytes, int offset, int length, boolean append)
409 throws IOException {
410
411 PortalFilePermission.checkWrite(_getPath(file));
412
413 getFile().write(file, bytes, offset, length, append);
414 }
415
416 public static void write(File file, InputStream is) throws IOException {
417 PortalFilePermission.checkWrite(_getPath(file));
418
419 getFile().write(file, is);
420 }
421
422 public static void write(File file, String s) throws IOException {
423 PortalFilePermission.checkWrite(_getPath(file));
424
425 getFile().write(file, s);
426 }
427
428 public static void write(File file, String s, boolean lazy)
429 throws IOException {
430
431 PortalFilePermission.checkWrite(_getPath(file));
432
433 getFile().write(file, s, lazy);
434 }
435
436 public static void write(File file, String s, boolean lazy, boolean append)
437 throws IOException {
438
439 PortalFilePermission.checkWrite(_getPath(file));
440
441 getFile().write(file, s, lazy, append);
442 }
443
444 public static void write(String fileName, byte[] bytes) throws IOException {
445 PortalFilePermission.checkWrite(fileName);
446
447 getFile().write(fileName, bytes);
448 }
449
450 public static void write(String fileName, InputStream is)
451 throws IOException {
452
453 PortalFilePermission.checkWrite(fileName);
454
455 getFile().write(fileName, is);
456 }
457
458 public static void write(String fileName, String s) throws IOException {
459 PortalFilePermission.checkWrite(fileName);
460
461 getFile().write(fileName, s);
462 }
463
464 public static void write(String fileName, String s, boolean lazy)
465 throws IOException {
466
467 PortalFilePermission.checkWrite(fileName);
468
469 getFile().write(fileName, s, lazy);
470 }
471
472 public static void write(
473 String fileName, String s, boolean lazy, boolean append)
474 throws IOException {
475
476 PortalFilePermission.checkWrite(fileName);
477
478 getFile().write(fileName, s, lazy, append);
479 }
480
481 public static void write(String pathName, String fileName, String s)
482 throws IOException {
483
484 PortalFilePermission.checkWrite(pathName);
485
486 getFile().write(pathName, fileName, s);
487 }
488
489 public static void write(
490 String pathName, String fileName, String s, boolean lazy)
491 throws IOException {
492
493 PortalFilePermission.checkWrite(pathName);
494
495 getFile().write(pathName, fileName, s, lazy);
496 }
497
498 public static void write(
499 String pathName, String fileName, String s, boolean lazy,
500 boolean append)
501 throws IOException {
502
503 PortalFilePermission.checkWrite(pathName);
504
505 getFile().write(pathName, fileName, s, lazy, append);
506 }
507
508 public void setFile(com.liferay.portal.kernel.util.File file) {
509 PortalRuntimePermission.checkSetBeanProperty(getClass());
510
511 _file = file;
512 }
513
514 private static String _getPath(File file) {
515 if (file == null) {
516 return null;
517 }
518
519 return file.getPath();
520 }
521
522 private static com.liferay.portal.kernel.util.File _file;
523
524 }