JAVA:IO新文件(filename)抛出“无法读取输入文件!”

时间:2011-07-08 20:02:39

标签: java io base64

我正在尝试从一台服务器创建一个文件到另一台服务器。 服务器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!"

为什么脚本会读取“输入文件”? 感谢

3 个答案:

答案 0 :(得分:5)

在文件路径中使用正斜杠。或者使用\\转义反斜杠。

答案 1 :(得分:2)

您需要使用转义字符,因为反斜杠由java保留。尝试像这样的双反斜杠

File of = new File("driverLetter:\\folder_path\\filename.png");

答案 2 :(得分:1)

它还建议使用

File.separator