я нахожусь на классе Java, я не являюсь не на сервлетJava нет такого файла или каталога
вопрос не дублируется, я не нахожусь на сервлет пожалуйста, ребята.
и классом Java, я имею в виду:
class HelloWorld{}
Я на сервере, и я хочу, чтобы клиент загрузить файл
это мой код:
@GET
@Produces(MediaType.APPLICATION_OCTET_STREAM)
@Path("/downloadFile")
public Response getFile() {
File file = new File("/roma.txt");
System.out.println("path = " + file.getPath());
System.out.println("absoulte path = " + file.getAbsolutePath());
return Response
.ok(file, MediaType.APPLICATION_OCTET_STREAM)
.header("Content-Disposition",
"attachment; filename=\"" + file.getName() + "\"") // optional
.build();
}
файл находится в WebContent
моего проекта, как вы видите здесь:
я получил это исключение:
java.io.FileNotFoundException: /roma.txt (No such file or directory)
в системах UNIX '' /roma.txt "- это абсолютный путь, если вы хотите получить доступ к файлу из рабочего каталога программы, удалите'/'с начала пути. – Titus
«/roma.txt» означает, что он будет искать корень иерархии файлов, а ваш файл находится под 'WebContent' под вашей иерархией веб-серверов. Помните, что класс 'File' не знает, что он используется на веб-сервере. – RealSkeptic
@Titus я уже пробовал это, но путь после удаления '/' находится в папке 'Eclipse.app/MacOS', и, конечно, никто не хотел бы помещать туда свои файлы. –