我有一个使用spring rest上传jar文件的java应用程序。
但是上传的文件已损坏,我无法从服务器访问jar文件。
请帮助。< / p>
fileloc = fileloc.replace("$", "/");
String filename = uploadedFileRef.getOriginalFilename();
String path = fileloc + filename;
byte[] buffer = new byte[1000];
File outputFile = new File(path);
FileInputStream reader = null;
FileOutputStream writer = null;
int totalBytes = 0;
try {
outputFile.createNewFile();
reader = (FileInputStream) uploadedFileRef.getInputStream();
writer = new FileOutputStream(outputFile);
int bytesRead = 0;
while ((bytesRead = reader.read(buffer)) != -1) {
writer.write(buffer);
totalBytes += bytesRead;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
你打电话
writer.write(buffer);
所以你总是写缓冲区大小。想象一下,最后一次读取仅读取10个字节,但无论如何你将写入1000个字节。
使用
write(buffer, 0, bytesRead );
或者只需查看the question
即可