在Windows上创建文件对象时处理反斜杠

时间:2018-11-29 10:30:59

标签: java windows windows-10 javamail

我正在构造一个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上使用正斜杠吗?

0 个答案:

没有答案