Advertisement
Guest User

Untitled

a guest
Mar 14th, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.62 KB | None | 0 0
  1. import java.io.File
  2. import java.io.FileInputStream
  3. import java.io.FileOutputStream
  4. import java.util.regex.Pattern
  5.  
  6. fun main(args: Array<String>) {
  7.     FileManager("/Users/mrbimc/Documents/icons/", "/Users/mrbimc/Documents/icons-sorted/").doWork()
  8. }
  9.  
  10. public class FileManager(val source : String, val dest : String) {
  11.  
  12.     public fun doWork() {
  13.         readDirectory(File(source))
  14.     }
  15.  
  16.     private fun readDirectory(dir : File) {
  17.         for (file in dir.listFiles()) {
  18.             if (file.isDirectory()) readDirectory(file)
  19.             else moveFile(file)
  20.         }
  21.     }
  22.  
  23.  
  24.  
  25.     private fun moveFile(file : File) {
  26.         val istream = FileInputStream(file)
  27.         val ostream = FileOutputStream(getDestPath(file) + "/ic_udn_" + file.getName())
  28.         val buffer = ByteArray(1024)
  29.         var read : Int
  30.         while (true) {
  31.             read = istream.read(buffer)
  32.             if (read == -1) break;
  33.             else ostream.write(buffer, 0, read)
  34.         }
  35.         ostream.flush()
  36.         ostream.close()
  37.         istream.close()
  38.     }
  39.  
  40.     private fun getDestPath(file : File) : String {
  41.         val fileDir = file.getParent()
  42.         var result = dest
  43.         if (fileDir.contains("(1)"))
  44.             result += "drawable-xxhdpi"
  45.         else if (fileDir.contains("(2)"))
  46.             result += "drawable-xhdpi"
  47.         else if (fileDir.contains("(3)"))
  48.             result += "drawable-hdpi"
  49.         else result += "drawable-xxxhdpi"
  50.         return result
  51.     }
  52. }
  53.  
  54. fun String.contains(pattern : String) : Boolean {
  55.     val pat = Pattern.compile(pattern)
  56.     return pat.matcher(this).find()
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement