我尝试使用 System.getenv("APPDATA"),它在文件夹之间返回 \。FileOutPutStream 不处理这些,那么如何将 \'s 转换为 /'s?
谢谢
每次需要使用 a\时,写两个:\\。换句话说:你需要转义它,因为\角色本身就是转义字符,它也需要转义!
或者,对于文件路径,您可以使用单个/,无论您在哪个平台(Windows、Linux、mac 等)中它都可以工作。
回到你的问题:发生这种情况有点奇怪,返回的字符串getenv肯定已经转义了\字符。让我们尝试使用采用 a的构造函数File:
FileOutputStream fos = new FileOutputStream(new File(System.getenv("APPDATA")));
File f = new File(System.getenv("APPDATA"));
System.out.println(f.getAbsolutePath());
然后你可以构造一个新的 FileOutputStream(f);