public static void multiThreadUpload(String projectName, File loc, String rmPath){
        Travel t=new Travel();
        t.directoryTravel(loc);
        HashMap<String, ArrayList<File>> tl=t.returnTravelList();
        ArrayList<File> dl=tl.get("directories");
        ArrayList<File> fl=tl.get("files");

        SFTP sftp=new SFTP();
        StringBuffer sb=new StringBuffer();
        for (int i = 0; i < dl.size(); i++) {
            sb.append("mkdir -p " + rmPath + "/" + dl.get(i).getAbsolutePath().substring(loc.getAbsolutePath().lastIndexOf(projectName)).replace(File.separator, "/") + "\n");
            sb.append("chmod 777 "+rmPath+"/"+dl.get(i).getAbsolutePath().substring(loc.getAbsolutePath().lastIndexOf(projectName)).replace(File.separator, "/")+"\n");
        }
        sftp.doShell(sb.toString());

        MyCountDownLatch mcd=new MyCountDownLatch(0);
//        Log.Print(fl.size());
        int cnt=0;
        while(cnt<fl.size()){
            if(mcd.getCount()<3){
//                Log.Print(projectName+" - "+mcd.getCount());
//                Log.Print(rmPath+"/"+fl.get(cnt).getAbsolutePath().substring(fl.get(cnt).toString().indexOf(projectName), fl.get(cnt).toString().lastIndexOf(File.separator)).replace(File.separator, "/"));
                if(fl.get(cnt).getName().equalsIgnoreCase("sftp-config.json")){
                    cnt++;
                    continue;
                }
                SFTPMultiThread smt=new SFTPMultiThread(fl.get(cnt),rmPath+"/"+fl.get(cnt).getAbsolutePath().substring(loc.getAbsolutePath().lastIndexOf(projectName)).replace(File.separator, "/"),mcd);
                smt.start();
                mcd.countUp();
                cnt++;
            }
            if(cnt==fl.size())
                break;
        }
    }