我敢肯定这已经得到了答案,但是十个不同的策略在这个问题上没有奏效。
如果我使用C:\ Users \ Anny \ Dropbox \ SocialMediaOcto \ instructions \ Trees \ instructions.txt作为文件的绝对路径,则IDEA无法从该路径读取或执行。如果我使用相同的路径并将其粘贴到Windows资源管理器中,它将立即执行。我不想专注于工作目录,因为此文件可以用作程序的配置文件,但是用反斜杠替换斜杠不起作用,绝对路径仍然将我带到该文件,但是IDEA无法启动。
我机智。
public static String generateFileName(String folder){
String filename = "";
List<String> hashtags = new ArrayList<>();
String instructions_file = "C:\Users\Anny\Dropbox\SocialMediaOcto\instructions\Trees\instructions.txt";
//does not return true-true, but can launch file on windows explorer..
System.out.println("FILE EXIST AND EXECUTE?" + new File(instructions_file).getAbsoluteFile().canRead() +" "+new File(instructions_file).getAbsoluteFile().canExecute());
System.out.println(new File(instructions_file).getAbsoluteFile());
//C:\Users\Anny\Dropbox\SocialMediaOcto\instructions\Trees\instructions.txt
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(new File(instructions_file).getAbsoluteFile()));
编辑用反斜杠替换反斜杠后,阅读器仍然无法正确读取或执行文件。
日志:字符串打印:C:/用户/Anny/Dropbox/SocialMediaOcto/instructions/Bees/instructions.txt
java.io.FileNotFoundException: C:\Users\Anny\Dropbox\SocialMediaOcto\instructions\Bees\instructions.txt (The system cannot find the file specified)
正确的网址:
String instructions_file = "C:/Users/Anny/Dropbox/SocialMediaOcto/instructions/Trees/instructions.txt";
因为\
在Java中是转义字符。如果要\
用作角色,则必须自己对其进行转义。
正确的网址v2:
String instructions_file = "C:\\Users\\Anny\\Dropbox\\SocialMediaOcto\\instructions\\Trees\\instructions.txt";
您所拥有的:
String instructions_file = "C:\Users\Anny\Dropbox\SocialMediaOcto\instructions\Trees\instructions.txt";
由java读取为
"C:{something}sers{something}nny{something}ropbox{something}ocialMediaOcto{something}nstructions\Trees\instructions.txt"
我认为最好使用第一种方法,因为它是平台安全的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句