我正在构造一个File
对象以用作电子邮件附件。我正在Windows 10上使用Eclipse。
构造函数中提供的文件名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上使用正斜杠吗?