Я создаю File
объект для использования в качестве вложения электронной почты.Я работаю над Eclipse в Windows 10. Имя файла String
, предоставленное в конструкторе, имеет формат /path/to/file
.
File attachment = new File(fileName);
DataSource source = new FileDataSource(attachment);
messageBodyPart.setDataHandler(new DataHandler(source));
...
Однако при отправке почты я получаю следующее исключение:
javax.mail.MessagingException: IOException while sending message;
nested exception is:
java.io.FileNotFoundException: \path\to\file (The system cannot find the path specified)
Я проверил методы File getPath()
и toString()
, чтобы узнать, что объект создан с обратной косой чертой "\"
Вот как класс File разрешает разделитель:
public static final String separator = SystemProperties.getProperty("file.separator");
и затем заменяет прямые косые черты на обратные.
Есть ли способ заставить Java использовать прямые косые черты в Windows?