Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. package Criptoconsola;
  2.  
  3. import Criptoconsola.Criptoconsola;
  4. import static Criptoconsola.Criptoconsola.tamanyBlocDescarrega;
  5. import java.io.FileInputStream;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.io.InputStream;
  9. import java.io.OutputStream;
  10. import java.net.MalformedURLException;
  11. import java.net.URL;
  12. import java.util.logging.Level;
  13. import java.util.logging.Logger;
  14.  
  15. public class FilDescarrega extends Thread {
  16.  
  17. private String urlEntrada;
  18. private String rutaFitxerSortida;
  19.  
  20. private String parts[];
  21. private String directoriTreball;
  22. private String separadorDirectoris;
  23.  
  24. private GestorDescarregas GestorDescarregas;
  25.  
  26. private int bytesDescarregats;
  27.  
  28. public FilDescarrega(GestorDescarregas GestorDescarregas, String urlEntrada, String rutaFitxerSortida) {
  29.  
  30. this.urlEntrada = urlEntrada;
  31. this.rutaFitxerSortida = rutaFitxerSortida;
  32.  
  33. this.GestorDescarregas = GestorDescarregas;
  34.  
  35. bytesDescarregats = 0;
  36.  
  37. }
  38.  
  39. @Override
  40. public void run() {
  41. System.out.println("Run 1");
  42.  
  43. String urlEntrada = parts[1];
  44. String nomFitxerSortida = parts[2];
  45. String rutaFitxerSortida = directoriTreball.toString() + separadorDirectoris + nomFitxerSortida;
  46. //// Obrim la url
  47. //
  48. try {
  49. URL url = new URL(urlEntrada);
  50. InputStream streamEntrada = url.openStream();
  51. //
  52. OutputStream streamSortida = new FileOutputStream(rutaFitxerSortida);
  53. //
  54. byte bloc[] = new byte[tamanyBlocDescarrega];
  55. //
  56. int llegits = streamEntrada.read(bloc);
  57. //
  58. while (llegits >= 0) {
  59.  
  60. System.out.println("Run 2");
  61.  
  62. streamSortida.write(bloc, 0, llegits);
  63.  
  64. //Comptabilitzem els bytes descarregats
  65. bytesDescarregats += llegits;
  66.  
  67. llegits = streamEntrada.read(bloc);
  68. if (llegits >= 0) {
  69. GestorDescarregas.OnProgresDescarrega(llegits);
  70. System.out.println("Run 3");
  71. }
  72. }
  73.  
  74. GestorDescarregas.OnDescarregaFinalitzada(this);
  75. streamEntrada.close();
  76. streamSortida.close();
  77.  
  78. } catch (NullPointerException NPE) {
  79. Logger.getLogger(FilDescarrega.class.getName()).log(Level.SEVERE, null, NPE);
  80.  
  81. } catch (MalformedURLException ex) {
  82. Logger.getLogger(FilDescarrega.class.getName()).log(Level.SEVERE, null, ex);
  83. } catch (IOException ex) {
  84. Logger.getLogger(FilDescarrega.class.getName()).log(Level.SEVERE, null, ex);
  85. }
  86. }
  87.  
  88. public String obtenirUrl() {
  89. return urlEntrada;
  90. }
  91.  
  92. public int obtenirBytesDescarregats() {
  93. return bytesDescarregats;
  94. }
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement