Exemplo n.º 1
0
  public String showDirectories() {
    String valores = "_root/";
    try {
      // Con esto podemos cambiar la carpeta actual
      cliente.changeWorkingDirectory("/Musica/Megadeth");
      cliente.makeDirectory("Killing Is My Business");
      System.out.println("La ruta actual es: " + cliente.printWorkingDirectory());
      // Con esto podemos obtener los directorios de la carpeta actual
      FTPFile[] directorios = cliente.listDirectories();
      for (int i = 0; i < directorios.length; i++) {
        valores += directorios[i].getName() + "/";
      }
      // Con esto podemos volver al directorio raíz
      cliente.changeToParentDirectory();
      System.out.println("La ruta nueva es es: " + cliente.printWorkingDirectory());

    } catch (IOException err) {
      valores = "El error es: " + err.getMessage();
    }
    return valores;
  }
Exemplo n.º 2
0
    @Override
    protected Integer doInBackground(Long... params) {
      // Log.w("LOGGER", "Starting...doInBackground");

      try {

        actionBar.setProgressBarVisibility(ProgressBar.VISIBLE);
        con = new FTPClient();
        try {
          String version_actualizar = "";

          // set time out
          con.setConnectTimeout(9000);

          // Log.v("instalacion", "conectando");
          con.connect("62.212.77.173");

          // Log.v("instalacion", "conectado");
          if (con.login("soda", "pepino")) {
            // Log.v("instalacion", "login");
            con.enterLocalPassiveMode(); // important!

            Log.v("instalacion", "changeWorkingDirectory -     " + con.printWorkingDirectory());

            //			  				        con.changeWorkingDirectory("" + "tessdata" + "");

            Log.v("instalacion", "changeWorkingDirectory -     " + con.printWorkingDirectory());

            String[] files = con.listNames();
            FTPFile[] directories = con.listDirectories();
            FTPFile[] archivos = con.listFiles();

            for (int i = 0; i < directories.length; i++) {
              Log.v("instalacion", directories[i].getName().toString());
            }
            for (int i = 0; i < archivos.length; i++) {
              Log.v("instalacion", archivos[i].getName().toString());
            }

            // DESCARGA
            System.out.println("  ---   Remote system is " + con.getSystemName());

            con.setFileType(FTP.BINARY_FILE_TYPE);
            con.enterLocalPassiveMode();

            filename = "tessdata.zip";

            for (int i = 0; i < archivos.length; i++) {
              Log.v("----- instalacion", archivos[i].getName().toString());

              if (archivos[i].getName().toString().equals(filename)) {
                size = archivos[i].getSize();
              }
            }

            try {

              fos =
                  new BufferedOutputStream(
                      new FileOutputStream(
                          Environment.getExternalStorageDirectory().toString() + "/" + filename));
              // Log.i("instalacion"," FileOutputStream ");

              InputStream input = con.retrieveFileStream("tessdata.zip");

              byte data[] = new byte[1024];
              long total = 0;
              int count;
              while ((count = input.read(data)) != -1) {
                total += count;
                // publishing the progress....
                //				  				                publishProgress((int) (total * 100 / data.length));

                publishProgress(
                    Integer.valueOf((int) (((total * 100 / data.length) * 1000) / size)));
                //				  				                Log.i("instalacion", String.valueOf( (((int) (total *
                // 100 / data.length))*100)/size ));

                //				  				                publishProgress(count);
                fos.write(data, 0, count);
              }

              fos.flush();
              fos.close();

              con.logout();
              con.disconnect();
            } catch (Exception e) {
              // TODO: handle exception
              Log.e(
                  "instalacion",
                  "ERROR al obtener la actualizaci—n de Elara  : " + e.getMessage() + "    ");
              return -4;
            }

          } else {
            // Log.e("instalacion","Nombre usuario o contrase–a ftp no valido.");
            Log.e("instalacion", "Nombre usuario o contrase–a ftp no valido. ");
            return -5;
          }
        } catch (Exception e) {

          Log.e("instalacion", "ERROR de conexion  : " + e.getMessage() + "    ");
          return -2;
        }

        try {
          con.logout();
          return 0;
        } catch (IOException e) {
          // Log.e("instalacion",e.getMessage());
          Log.e("instalacion", "ERROR al desconectar del FTP : " + e.getMessage() + "    ");
          return 0;
        }

      } catch (Exception e) {
        // Log.e("instalacion",e.getMessage());
        Log.e(
            "instalacion", "ERROR al buscar actualizaciones de Elara: " + e.getMessage() + "    ");
        return -1;
      }
    }