我正在尝试从一台服务器创建一个文件到另一台服务器。 服务器A执行需要在一台服务器B上创建文件的脚本。服务器A有一个脚本可以创建没有问题的文件夹(没有权限被拒绝或任何内容),并在创建文件夹后调用以下代码:
byte[] btDataFile = new sun.misc.BASE64Decoder().decodeBuffer(base64);
File of = new File("driverLetter:\folder_path\filename.png");
FileOutputStream osf = new FileOutputStream(of);
osf.write(btDataFile);
osf.flush();
“base64”是png图像的base64字符串表示,我需要将其作为文件创建。字符串的值很长,所以我不能在这里发布,但它在那里,不是空的,不是null,它有一个值。 但是代码抛出了错误:
"Can't read input file!"
为什么脚本会读取“输入文件”? 感谢
答案 0 :(得分:5)
在文件路径中使用正斜杠。或者使用\\
转义反斜杠。
答案 1 :(得分:2)
您需要使用转义字符,因为反斜杠由java保留。尝试像这样的双反斜杠
File of = new File("driverLetter:\\folder_path\\filename.png");
答案 2 :(得分:1)
它还建议使用
File.separator