java 大文件上传代码
时间: 2023-09-14 15:02:26 浏览: 49
以下是一个基本的Java大文件上传代码示例:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class FileUploader {
private static final String UPLOAD_URL = "http://example.com/upload";
private static final String FILE_PATH = "/path/to/file";
public static void main(String[] args) {
File file = new File(FILE_PATH);
try {
URL url = new URL(UPLOAD_URL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/octet-stream");
connection.setRequestProperty("Content-Length", String.valueOf(file.length()));
OutputStream outputStream = connection.getOutputStream();
FileInputStream inputStream = new FileInputStream(file);
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
int responseCode = connection.getResponseCode();
System.out.println("Response code: " + responseCode);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该代码使用Java的URL和HttpURLConnection类将文件上传到指定的URL。它将文件读入字节数组中,然后将其写入输出流中。在发送请求后,代码将打印响应代码以指示上传是否成功。请注意,该代码仅适用于较小的文件(几百MB或更少)。对于大型文件,您可能需要使用分段上传或其他高级技术来确保稳定性和性能。