Java nın ilk başlarda internet için geliştirildiğini anımsarsak. İnternetteki bir dosyayı jvm yüklü bir cihaza indirmemiz çok kolay gerçekleşecektir.
Bize internetteki dosyayı indirmemiz gerekli olan paketler
import java.io.*;
import java.net.*;
Adımlar :
1- Bir URL nesnesi örneklendir.URL nesnesinin yapılandırıcı metoduna internetteki dosyayı parametre olarak ver.
2- URL nesnesinin openStream() metodunu kulanarak bir InputStream nesnesi elde et.
3- Cihazın sabit diskinde FileOutputStream kullanarak bir dosya oluştur
4- InputStream den dosyanın son sekizlik(byte) ‘a gelene kadar Akıştan (Stream) oku ve okunan sekizlik veriyi FileInputStream Kullanarak oluşturduğun dosya ya yaz.
Oluşan algoritmayı koda dökecek olursak.
import java.io.*;
import java.net.*;
public class Indir{
public static void main(String[] args) throws MalformedURLException, IOException {
URL url = new URL(”http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf”);
BufferedInputStream TampondanOkuyucu= new BufferedInputStream(url.openStream());
BufferedOutputStream TampondanYazıcı= new BufferedOutputStream(new FileOutputStream(”C:/indirilen.pdf”));
byte i = 0;
do
{
i = (byte)TampondanOkuyucu.read();
TampondanYazici.write(i)
}
while (i != -1);
TampondanOkuyucu.close();
TampondanYazici.close();
System.out.println(”Dosya basarıyla kayıt edildi”);
}
}
Not olarak akıştan her sefirinde bir sekizlik okuyup, yazmak yerine tüm sekizlikleri bir Byte dizisine aktarmak ya da Byte dizilerine bölmek performansı artıracaktır.
Kaynak : http://boraabaci.wordpress.com/
hardcoder
defaten@msn.com