diff options
Diffstat (limited to 'common/src/org/kelar/inputmethod/latin/common/FileUtils.java')
-rw-r--r-- | common/src/org/kelar/inputmethod/latin/common/FileUtils.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/common/src/org/kelar/inputmethod/latin/common/FileUtils.java b/common/src/org/kelar/inputmethod/latin/common/FileUtils.java new file mode 100644 index 000000000..8696f26c1 --- /dev/null +++ b/common/src/org/kelar/inputmethod/latin/common/FileUtils.java @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.kelar.inputmethod.latin.common; + +import java.io.File; +import java.io.FilenameFilter; + +/** + * A simple class to help with removing directories recursively. + */ +public class FileUtils { + private static final String TAG = "FileUtils"; + + public static boolean deleteRecursively(final File path) { + if (path.isDirectory()) { + final File[] files = path.listFiles(); + if (files != null) { + for (final File child : files) { + deleteRecursively(child); + } + } + } + return path.delete(); + } + + public static boolean deleteFilteredFiles(final File dir, final FilenameFilter fileNameFilter) { + if (!dir.isDirectory()) { + return false; + } + final File[] files = dir.listFiles(fileNameFilter); + if (files == null) { + return false; + } + boolean hasDeletedAllFiles = true; + for (final File file : files) { + if (!deleteRecursively(file)) { + hasDeletedAllFiles = false; + } + } + return hasDeletedAllFiles; + } + + public static boolean renameTo(final File fromFile, final File toFile) { + toFile.delete(); + return fromFile.renameTo(toFile); + } +} |