Übrigens habe ich mich entschlossen, die folgenden Bewegungen in Java Local Application in Business zu implementieren.
pom.xml
<!--Kürzung-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<!--Kürzung-->
DownloadSample.java
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import javax.swing.JFileChooser;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class DownloadSample {
//Ziel-URL herunterladen
static String downloadUrl = "http://sample.com/hoge.txt";
public static void main(String[] args) throws IOException {
//Rufen Sie den Standarddateinamen von der URL ab.
URL url = new URL(downloadUrl);
String fileName = Paths.get(url.getPath()).getFileName().toString();
//Dialogfeld zum Speichern anzeigen
JFileChooser filechooser = new JFileChooser(fileName);
//Geben Sie den Standarddateinamen an
filechooser.setSelectedFile(new File(fileName));
//Dialogfeld "Speichern" anzeigen
if (filechooser.showSaveDialog(null) != JFileChooser.APPROVE_OPTION) {
//Beenden Sie, wenn Sie nicht "Speichern" drücken.
return;
}
//Festlegen des Speicherziels
File saveFile = filechooser.getSelectedFile();
try (
//Stellen Sie HttpClient ein
final CloseableHttpClient client = HttpClients.createDefault();
// Get
final CloseableHttpResponse response = client.execute(new HttpGet(downloadUrl))) {
//Überprüfen Sie den Status und speichern Sie die Datei, wenn die Kommunikation erfolgreich ist
final int status = response.getStatusLine().getStatusCode();
if (status >= 200 && status < 300) {
final HttpEntity entity = response.getEntity();
//Datei speichern
Files.write(Paths.get(saveFile.toString()),
entity == null ? new byte[0] : EntityUtils.toByteArray(entity));
} else {
throw new ClientProtocolException("Unexpected response status: " + status);
}
}
}
}
Es ist wirklich nur dieses Beispiel, daher ist es möglicherweise nicht erforderlich ... GitHub
Herunterladen und Speichern der [Java] -Datei (mit Apache HttpComponents HttpClient 4.5.2) → Der größte Teil der HTTP-Kommunikation und des Speicherns von Dateien wurde von diesem Artikel abgelenkt. Vielen Dank! Dialogfeld "Datei speichern" anzeigen Tipps zur bequemen Verwendung von JFileChooser → In diesem Artikel wurde beschrieben, wie Sie den Speicherdialog auswählen. Vielen Dank! Verwendung von java.net.URL und ein kleiner Hinweis zu NIO.2 → Ich habe auf diesen Artikel verwiesen, um den Dateinamen von der URL abzurufen. Vielen Dank!
Recommended Posts