Descargar ficheros en java J2ME
Publicado por Juan (70 intervenciones) el 21/03/2020 13:42:59
Hola buenas tengo un pequeño problema y quisiera ver si alguno sabe y puede ayudarme. Necesito descargar un archivo y guardarlo en una memoria (obviamente jeje), en una carpeta. para luego acceder a este archivo. En java lo se hacer fácilmente. el problema está en que necesito hacerlo en J2ME y hay poco material en foros y de mas porque pocas personas utilizan esta versión de java. esta versión es una versión reducida para programar en dispositivos M2M y me parece que en teléfonos tambien. por lo tanto muchas librerías usadas en java no funcionan en j2me. lo que busco hacer es una actualización de mi programa remotamente. para eso necesito descargar unos archivos, y luego hacer la actualización. En java lo hago de esta manera:
Problema? la clase URL no está en j2me. por lo tanto no puedo hacer ese tipo de conexión. he intentado hacerlo de la siguiente manera:
con la clase Connection pero no me ha funcionado. se que esa versión no se usa mucho, pero si hay alguien que sepa y pueda echarme una mano estaria muy agradecido.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void descargar(String url, String ficheroDestino) throws Exception {
URL ficheroUrl = new URL(url);
InputStream inputStream = ficheroUrl.openStream();
OutputStream outputStream = new FileOutputStream(ficheroDestino); // path y nombre del nuevo fichero creado
byte[] b = new byte[2048];
int longitud;
while ((longitud = inputStream.read(b)) != -1) {
outputStream.write(b, 0, longitud);
}
inputStream.close();
outputStream.close();
}
Problema? la clase URL no está en j2me. por lo tanto no puedo hacer ese tipo de conexión. he intentado hacerlo de la siguiente manera:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public static void toFile(String url) throws IOException {
InputStream inputStream = Connector.openInputStream(url);
byte[] b = new byte[2048];
int longitud;
FileConnection fconn = null;
OutputStream os = null;
try {
fconn = (FileConnection) Connector.open("file:///a:/" + FILE_JAR);
if (!fconn.exists()) {
fconn.create();
}
fconn.delete();
fconn.create();
long file_size = fconn.availableSize();
os = fconn.openOutputStream(file_size);
while ((longitud = inputStream.read(b)) != -1) {
os.write(b, 0, longitud);
}
os.write("\r\n".getBytes());
} finally {
if (os != null) {
os.close();
inputStream.close(); // Cerramos la conexión entrada
}
if (fconn != null) {
fconn.close();
}
}
}
con la clase Connection pero no me ha funcionado. se que esa versión no se usa mucho, pero si hay alguien que sepa y pueda echarme una mano estaria muy agradecido.
Valora esta pregunta


0