Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* This short code was used to move downloaded images from folders marked by (1), (2), (3) or " " to project folders */
- public class FileManager(var source : String, var dest : String) {
- val destDirs : ArrayList<String>
- {
- destDirs = arrayListOf("drawable-xxxhdpi", "drawable-xxhdpi", "drawable-xhdpi", "drawable-hdpi")
- makeValid()
- }
- public fun doWork() {
- readDirectory(File(source))
- }
- private fun readDirectory(dir : File) {
- for (file in dir.listFiles()) {
- if (file.isDirectory()) readDirectory(file)
- else if (file.getName().endsWith(".png")) moveFile(file)
- }
- }
- private fun moveFile(file : File) {
- val istream = FileInputStream(file)
- val ostream = FileOutputStream(getDestPath(file))
- val buffer = ByteArray(1024)
- var read : Int
- while (true) {
- read = istream.read(buffer)
- if (read == -1) break;
- else ostream.write(buffer, 0, read)
- }
- ostream.flush()
- ostream.close()
- istream.close()
- }
- private fun getDestPath(file : File) : String {
- val fileDir = file.getParent()
- var result = dest
- for (name in destDirs) {
- if (fileDir.contains("(${destDirs.indexOf(name)})")) {
- return result + File.separator + name + File.separator + file.getName()
- }
- }
- return result + File.separator + destDirs[0] + File.separator + file.getName()
- }
- private fun makeValid() {
- if (dest[dest.length()-1].equals(File.separator))
- dest = dest.substring(0, dest.lastIndexOf(File.separator)-1)
- for (name in destDirs) {
- val folder = File(dest + File.separator + name)
- if (!folder.exists()) {
- folder.mkdir()
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement