AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Limite nel trasferimento file

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
Gioacchino
Guest





PostPosted: Sat Dec 17, 2005 11:26 am    Post subject: Limite nel trasferimento file Reply with quote



Se si alloca un'array di byte di dimensione pari alla dimensione del
file che si vuole trasferire esiste un limite fissato dal Java oppure
dipende dalla quantità di memoria disponibile al momento
dell'esecuzione?
L'unico modo rimane quello di trasferire pezzo per pezzo?

Per trasferire via socket un file grande, esiste una classe in Java
che faccia questo lavoro autonomamente?
Una classe del tipo:

TrasferisciFile tf = new TrasferisciFile(ServerSocket server, Socket
client, String nomedelfile);

try
{
tf.iniziatrasferimento();
}
catch(IoException e)
{
//Si è sollevato un errore nel trasferimento
}

Back to top
Giambo
Guest





PostPosted: Sat Dec 17, 2005 1:19 pm    Post subject: Re: Limite nel trasferimento file Reply with quote



Gioacchino wrote:
Quote:
Se si alloca un'array di byte di dimensione pari alla dimensione del
file che si vuole trasferire esiste un limite fissato dal Java oppure
dipende dalla quantità di memoria disponibile al momento
dell'esecuzione?

IMHO, il tuo approccio e' sbagliato. Io userei un gli
Input/OutputStream. Magari bufferizzati.

--
Giambo - Occhio al filtro antispam _e_ alla whitelist !

Back to top
stefanomnn@yahoo.it
Guest





PostPosted: Sat Dec 17, 2005 2:03 pm    Post subject: Re: Limite nel trasferimento file Reply with quote



Esistono classi gia fatte, ma solo se usi protocolli standard!
Ad esempio se x il trasferimento dei file usi ftp allora sicuramente
potrai avvalerti delle API java.
I dati li puoi prendere N bytes alla volta, poi di questi N byte ne fai
cio che vuoi, es. li salvi in un file di output.
Spero di averti aiutato

Back to top
Gioacchino
Guest





PostPosted: Sat Dec 17, 2005 5:41 pm    Post subject: Re: Limite nel trasferimento file Reply with quote

Il giorno Sat, 17 Dec 2005 14:19:57 +0100, Giambo
<gabriele (AT) giambonini (DOT) nospam.com> scrisse:

Quote:
Gioacchino wrote:
Se si alloca un'array di byte di dimensione pari alla dimensione del
file che si vuole trasferire esiste un limite fissato dal Java oppure
dipende dalla quantità di memoria disponibile al momento
dell'esecuzione?

IMHO, il tuo approccio e' sbagliato. Io userei un gli
Input/OutputStream. Magari bufferizzati.
Ovviamente ma se faccio qualcosa del genere:


Ho un array lungo quanto la dimensione del file, per esempio un file
di 50 Mb ho un array di byte formato da 50M elementi.

fr=FileReader(nomefile);
fr.read(array);
outputstream.writeChars(array);

esiste un limite nell'allocazione di memoria in Java oppure il limite
dipende dalla macchina?

Back to top
Gioacchino
Guest





PostPosted: Sat Dec 17, 2005 5:41 pm    Post subject: Re: Limite nel trasferimento file Reply with quote

Il giorno 17 Dec 2005 06:03:39 -0800, [email]stefanomnn (AT) yahoo (DOT) it[/email] scrisse:

Quote:
Esistono classi gia fatte, ma solo se usi protocolli standard!
Ad esempio se x il trasferimento dei file usi ftp allora sicuramente
potrai avvalerti delle API java.
I dati li puoi prendere N bytes alla volta, poi di questi N byte ne fai
cio che vuoi, es. li salvi in un file di output.
Spero di averti aiutato
Purtroppo per il lavoro che devo fare non posso utilizzare ftp. L'idea

è quella di avere una classe (magari multithread, altrimenti ci penso
io) che abbia lo specifico compito di trasferire tutto quello che
legge da un file sullo stream di output (che può essere lo stream del
socket remoto) ed analogamente avere una classe speculare che lo legge
dallo stream di input e lo scrive su disco.

Se c'è qualcosa anche non strettamente standard Java, va bene uguale.

Back to top
Giambo
Guest





PostPosted: Sat Dec 17, 2005 6:51 pm    Post subject: Re: Limite nel trasferimento file Reply with quote

Gioacchino wrote:

Quote:
esiste un limite nell'allocazione di memoria in Java oppure il limite
dipende dalla macchina?

Alla VM puoi passare per esempio con il parametro "-Xmx" la dimensione
massima dell'heap.
Nei sistemi UNIX e' il SO stesso che puo' determinare un massimo di
memoria allocata per processo/utente/gruppo.

--
Giambo - Occhio al filtro antispam _e_ alla whitelist !

Back to top
Gioacchino
Guest





PostPosted: Sun Dec 18, 2005 9:06 am    Post subject: Re: Limite nel trasferimento file Reply with quote

Il giorno Sat, 17 Dec 2005 19:51:31 +0100, Giambo
<gabriele (AT) giambonini (DOT) nospam.com> scrisse:

Quote:
Gioacchino wrote:

esiste un limite nell'allocazione di memoria in Java oppure il limite
dipende dalla macchina?

Alla VM puoi passare per esempio con il parametro "-Xmx" la dimensione
massima dell'heap.
Nei sistemi UNIX e' il SO stesso che puo' determinare un massimo di
memoria allocata per processo/utente/gruppo.
Bene, ho capito. Grazie.


Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.