inputstream下载
时间: 2023-10-28 11:57:22 浏览: 83
您可以使用 Java 中的 InputStream 类来进行文件下载。以下是一个简单的示例:
```java
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
public class FileDownloader {
public static void main(String[] args) {
String fileUrl = "https://example.com/file.txt";
String savePath = "path/to/save/file.txt";
try {
downloadFileUsingInputStream(fileUrl, savePath);
System.out.println("File downloaded successfully!");
} catch (Exception e) {
System.out.println("Error occurred during file download: " + e.getMessage());
}
}
public static void downloadFileUsingInputStream(String fileUrl, String savePath) throws Exception {
URL url = new URL(fileUrl);
InputStream inputStream = url.openStream();
// 使用 FileOutputStream 将流写入文件
Path outputPath = Path.of(savePath);
Files.copy(inputStream, outputPath, StandardCopyOption.REPLACE_EXISTING);
// 或者,如果您想要直接将流写入文件,可以使用以下代码
/*try (FileOutputStream outputStream = new FileOutputStream(savePath)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
}*/
inputStream.close();
}
}
```
在上述示例中,我们使用 `URL` 类来创建一个指向文件的链接,并通过 `openStream()` 方法获取一个输入流。然后,我们可以使用 `Files.copy()` 方法将输入流中的内容复制到指定的文件路径中。
如果您想要直接将流写入文件,您可以使用注释部分的代码,并使用 `FileOutputStream` 类将流写入文件。
请确保替换 `fileUrl` 和 `savePath` 变量的值为您要下载的文件的 URL 和保存路径。
阅读全文