Preben Holm wrote:
> Hej gruppe,
>
> jeg prøver at hente en fil vha. FTP, men filen bliver ikke hentet helt.
>
> Hvad er der galt med nedenstående:
>
> URL url = new URL("ftp://" + FTP_USER + ":" + FTP_PASSWD + "@" +
> FTP_PATH);
> URLConnection urlConn = url.openConnection();
> InputStream is = urlConn.getInputStream();
> DataInputStream dis = new DataInputStream(is);
>
> int numBytes = urlConn.getContentLength();
> byte[] bytes = new byte[numBytes];
> dis.read(bytes, 0, numBytes);
>
> FileOutputStream fos = new
> FileOutputStream("/home/preben/tmp/40008.jpg");
> fos.write(bytes);
>
>
> jeg har en mistanke om at det måske har noget at gøre med:
> int numBytes = urlConn.getContentLength();
og mistanken er rigtig nok... skal hhv. bruge resultatet fra dis.read()
som bliver -1 når filens slutning er nået og dis.available
URL url = new URL("ftp://" + FTP_USER + ":" + FTP_PASSWD + "@"
+ FTP_PATH);
//URLConnection urlConn = url.openConnection();
InputStream is = url.openStream(); //urlConn.getInputStream();
DataInputStream dis = new DataInputStream(is);
FileOutputStream fos = new
FileOutputStream("/home/preben/tmp/40008.jpg");
int transfer = 0;
int numBytes;
while (transfer > -1) {
numBytes = dis.available();
byte[] bytes = new byte[numBytes];
transfer = dis.read(bytes, 0, numBytes);
fos.write(bytes, 0, numBytes);
}
det virker
Nu mangler jeg bare lige en god ide til hvordan jeg får vist billedet!!!
Mvh / Preben Holm