我有一个将文件从本地上传到 Minio 浏览器的 java 程序。文件大小约为 900 MB。当我执行 java 程序时,我得到 -
Java.lang.OutOfMemoryError - Java heap Size
我尝试在 eclipse.ini 和下增加堆大小Run-->Configurations-->Project to -Xms4096M -Xmx8192M.
在我执行收到的程序时增加堆大小后 -
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
如何使用 Java 将大文件上传到 Minio?
这就是我的java程序的样子——
StringBuilder stringBuilder = new StringBuilder();
File[] files = new File(path).listFiles();
showFiles(files);
System.out.println(pathList);
ListIterator<String> itr=pathList.listIterator();
while(itr.hasNext()){
String relativePath=itr.next();
if(relativePath!=null) {
String absolutePath=path+(relativePath).replaceFirst("minio_files", "");
System.out.println(absolutePath);
System.out.println(relativePath);
File f =new File(absolutePath);
BufferedReader reader = new BufferedReader(new FileReader(f));
String line = null;
String ls = System.getProperty("line.separator");
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
stringBuilder.append(ls);
}
if(stringBuilder.length()!=0) {
// delete the last new line separator
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
}
reader.close();
// Create a InputStream for object upload.
ByteArrayInputStream bais = new ByteArrayInputStream(stringBuilder.toString().getBytes("UTF-8"));