最近的产品项目用到了发邮件的功能,都报IO没有找到地址。工程师分别使用了平果开发,没有问题。Win下有发这个问题。
想了一下是路径的问题。如何解决呢?
比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:
File file1 = new File ("C:\tmp\test.txt"); 或者 File file2 = new File ("C:/tmp/test.txt");都行在Linux下则是这样的:
File file2 = new File ("C:/tmp/test.txt");
路径分隔符:
Windows下是“\”
unix|linux下是“/”
考虑到程序的可移植性,创建文件时建议大家选用"/",因为经过测试用java创建文件时在windows平台下用“/”也是可以的,java貌似在后台作过处理了。
还有一种用法:
用File.separator代替它们,这个永远不会出现可移植性问题。
下面举一些例子,加深理解:
File f = new File("d://book//1"); √
File f = new File("d:/book/1");√
File f = new File("d:\\book\\1");√
File f = new File("d:\book\1"); Χ
注意: \是转义字符,所以\\才相当于\.
总结:推荐大家用"/"或"File.separator"。