我试图刷新本地计算机中的文件中的数据以进行响应。但在某些时候我得到IndexOutOfBoundsException
。
FileInputStream inputStream = new FileInputStream(downloadFile);
OutputStream outStream = response.getOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer, 0, 4096)) != -1) {
outStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outStream.close();
以上代码就是我的尝试。给出的downloadFile
路径是正确的,它一直有效,直到while
循环。但是IndexOutOfBoundsException
发生了。我用inputStream.read(buffer)
试了一下但是没有用。
答案 0 :(得分:0)
让代码完美无缺;因为没有关于response
对象的信息我已将OutputStream
修改为FileOutputStream
;只是为了测试。
以下代码段工作正常。
public class Test
{
public static void main(String args[]) throws IOException
{
FileInputStream inputStream = new FileInputStream("C:\\readme.txt");
FileOutputStream outputStream = new FileOutputStream("D:\\readme1.txt");
//OutputStream outStream = response.getOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer, 0, 4096)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
}
}