2010-02-20 19 views
6

Kullanıcının bir URL bağlantısı sağladığını ve programın url bağlantısını aldığını ve bir web sayfasını olduğu gibi indirip belirli bir konumda kaydettiğini java'da bir kod yazmaya çalışıyorum. Web sayfası olarak mevcut ... seçeneğini kaydedin. java kodunu kullanarak URL'yi geçerek dosyayı indir

herkes önceden

+1

Şimdiye kadar ne yaptığınızı söyleyebilir misiniz? Hangi noktada sıkışmışsın? –

cevap

5

Sonra ondan okuyabilir ve bir dosya üzerinde çıktı yayın boyunca yazma URL üzerinde bir giriş akışı almak için Java URL API kullanabilirsiniz bana

Teşekkür yardım eder misiniz.

9

// Örnek URL: Tamamen çalışıyor http://www.novell.com/coolsolutions/tools/downloads/ntradping.zip

import java.io.*; 
import java.net.*; 


public class UrlDownload { 
    final static int size = 1024; 

    public static void fileUrl(String fAddress, String localFileName, String destinationDir) { 
     OutputStream outStream = null; 
     URLConnection uCon = null; 

     InputStream is = null; 
     try { 
      URL url; 
      byte[] buf; 
      int byteRead, byteWritten = 0; 
      url = new URL(fAddress); 
      outStream = new BufferedOutputStream(new FileOutputStream(destinationDir + "\\" + localFileName)); 

      uCon = url.openConnection(); 
      is = uCon.getInputStream(); 
      buf = new byte[size]; 
      while ((byteRead = is.read(buf)) != -1) { 
       outStream.write(buf, 0, byteRead); 
       byteWritten += byteRead; 
      } 
      System.out.println("Downloaded Successfully."); 
      System.out.println("File name:\"" + localFileName + "\"\nNo ofbytes :" + byteWritten); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       is.close(); 
       outStream.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

    public static void fileDownload(String fAddress, String destinationDir) { 
     int slashIndex = fAddress.lastIndexOf('/'); 
     int periodIndex = fAddress.lastIndexOf('.'); 

     String fileName = fAddress.substring(slashIndex + 1); 

     if (periodIndex >= 1 && slashIndex >= 0 && slashIndex < fAddress.length() - 1) { 
      fileUrl(fAddress, fileName, destinationDir); 
     } else { 
      System.err.println("path or file name."); 
     } 
    } 

    public static void main(String[] args) { 
     if (args.length == 2) { 
      for (int i = 1; i < args.length; i++) { 
       fileDownload(args[i], args[0]); 
      } 
     } else { 
     } 
    } 
} 

.

+0

Lütfen kodunuzu che, belki de 'fileDownload ifadesinde bulunan hatalar (args [i], args [0]);' değiştirilmelidir. – Daniele

İlgili konular