Hvordan downloader og gemmer man en fil fra internettet ved hjælp af Java?
Der er en online-fil (f.eks. http://www.example.com/information.asp
), som jeg skal hente og gemme i en mappe. Jeg ved, at der findes flere metoder til at hente og læse online-filer (URL'er) linje for linje, men er der en måde, hvorpå jeg bare kan hente og gemme filen ved hjælp af Java?
416
3
Prøv Java NIO:
Brug af
transferFrom()
er potentielt meget mere effektivt end en simpel sløjfe der læser fra kildekanalen og skriver til denne kanal. Mange operativsystemer kan overføre bytes direkte fra kildekanalen ind i filsystemets cache uden faktisk at kopiere dem.Se mere om det her.
Note: Den tredje parameter i transferFrom er det maksimale antal bytes, der skal overføres.
Integer.MAX_VALUE
vil overføre højst 2^31 bytes,Long.MAX_VALUE
vil tillade højst 2^63 bytes (større end enhver eksisterende fil).Du skal håndtere undtagelser, sandsynligvis eksternt til denne metode.
Hvis du downloader en fil, skal du læse den, og du skal på en eller anden måde gennemgå filen. I stedet for at læse den linje for linje kan du bare læse den bytesvis fra strømmen: