Причина, по которой вы получаете «странный» путь, проста - вы используете Eclipse.Когда вы запускаете приложение в Eclipse, сторона Eclipse создаст новый путь и запустит там ваше приложение.Вот почему getRealPath ("/") "дает вам странный путь, потому что ваше приложение теперь работает во временной папке.
Почему Eclipse делает это?Вот что я думаю
- Таким образом, Eclipse может запустить ваше приложение быстрее (кэшированное приложение или коды и т. Д.)
- Ваш оригинальный код будет храниться в безопасностис любыми ненужными изменениями, внесенными Eclipse.
Итак, как я могу решить эту проблему?
Я предлагаю вам использовать класс «Свойства» для установки пути загрузки.Таким образом, вы можете отделить настройку URL от вашей логики, и ваш код будет легко поддерживать.И вы не столкнетесь ни с какой неожиданной «экологической» ошибкой, подобной этой, потому что ваше значение настройки будет фиксироваться вашим вводом.
Вот фиксированный код для использования «Свойства».
<%
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("config.properties");
// load a properties file
prop.load(input);
// get the property for upload path
String path=prop.getProperty("path.upload");
FileOutputStream file = new FileOutputStream(path+"\\testingfile.txt");
//TODO:rest of your logic codes will come here.
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
%>
Вы также должны создать файл "config.properties".Вот содержимое файла.
path.upload=C:\Users\Stark\Documents\Eclipse IDE\Demo
Надеюсь, мой ответ вам поможет.