package dodatkowe;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class Download {

	public static void main(String[] args) {
		// Aby pobrać dane z adresu sieciowego (URL), można użyć klasy URL, która jest częścią Java SE.
		// Istnieją też bardzej rozbudowane biblioteki, np. Apache HTTP Client.
		
		// URL działa w najprostszych przypadkach: gdy nie ma uwierzytelnienia, ciasteczek, przekierowań.
		
		try {
			URL url = new URL("https://www.alx.pl/pdf/bootcamp-java-xl/");
			InputStream input = url.openStream();
			
			// można w pętli czytać bajty operacjami read, ale tu użyjemy gotowej metody, która kopiuje bajty do pliku
			long size = Files.copy(input, Paths.get("program_kursu.pdf"), StandardCopyOption.REPLACE_EXISTING);
			System.out.println("Gotowe. Pobrano " + size + " bajtów.");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}
