Ваша проблема дублирует этот вопрос SO
Как и при попытке скопировать ваш код в мое затмение, я получил то же приглашение о Сохранить проблемы .Где-то есть недопустимый символ и строка с этим символом, который нельзя проанализировать в допустимом пути к файлу.
Я вручную набрал значения для String gurufile
& String gurupath
, а не скопировал ваш код, и он успешно работал.Кажется, что Culprit String gurupath
.
Второй момент - использование try-with-resource (хотя это не имеет никакого отношения к вашей проблеме) вместо явной попытки закрыть ресурсы
response.setContentType("text/html");
String gurufile = "test.txt";
String gurupath = "D:\\guru99\\";
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\"" + gurufile + "\"");
try (FileInputStream fileInputStream = new FileInputStream(gurupath + gurufile);
PrintWriter out = response.getWriter();) {
int i;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
}
Копировать - вставьте мой код, чтобы увидеть, решит ли это вашу проблему.