The weird symbol in the stack trace
Stacktrace:
java.io.FileNotFoundException:E:estilename.png(文件名,目录名或卷标签语法不正确)
。java编码的ANSI预期的字符串“ E:\ test \ filename.png”
1)编译使用记事本打开没有问题,看不到怪异的符号
和平结束与
[[写Filereadapp.class] [总共691ms]
-JDK:13.0.1,使用Javafx和Apache Common IO作为模块
使用模块路径,详细,添加模块-选项
与批处理文件运行命令,cd ...和javac ...一起编译
-已经看到一些帖子表明它是本地win文件系统作业。还是JDK的工作?
但是我不知道它如何改变字符串本身。以及如何解决它,防止它发生?
无重复,这绝对不是任何重复的帖子?日语单词中的char就像使用相对路径进行文件读写一样,如上所述,除非绝对路径的实现错误,否则我给出了绝对路径。因此,请不要迟钝地将此标签标记为重复,除非有特定的帖子可以解决我的情况。在没有评论原因和答案的情况下,不要随意投票。证明我为什么吮吸,好吗?我敢打赌,你有良好的教育背景。
2)StringBuilder->append all directory >append("e:").append("\test").append("\filename.png");
SB->String
FileOutputStream(Stringitself)
这些不是代码本身!^仅显示真实代码的流程。
在Java(和许多其他语言)中,\
用于转义特殊字符(例如换行符\n
)。假设您的t
看起来像,在这里您将转义字母f
和\t
(\f
是tab,String
是form-feed
String s = "e:\test\filename.png";
修复您可以使用any of
String s = "e:\\test\\filename.png";
或
String s = "e:/test/filename.png";
或
String s = "e:" + File.pathSeparator + "test" + File.pathSeparator + "filename.png";
而且我敢肯定,还有其他几种写方法。