我花了很长时间试图解决这个问题,但无济于事。我已经搜索了stackoverflow以及Google,并且无法解决我(看似)简单的问题。
我在以下行中收到FileNotFoundException:
Image.FromFile("\\Resources\\Icons\\key-icon.png");
文件夹和图像确实存在,我看不出问题所在。
答案 0 :(得分:9)
您应该考虑从“yourproject / bin / Release”启动它,因此您需要上升2个目录。这样做:
Image.FromFile("..\\..\\Resources\\Icons\\key-icon.png");
答案 1 :(得分:4)
尝试使用绝对路径而不是相对路径...即
Image.FromFile(Server.MapPath(@"~\Resources\Icons\key-icon.png"));
答案 2 :(得分:1)
Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
@"Resources\\Icons\\key-icon.png"))
基本目录合并文件名
答案 3 :(得分:0)
你可能错过了一个领先的“。”:
Image.FromFile(".\\Resources\\Icons\\key-icon.png");
答案 4 :(得分:0)
在内部,Image.FromFile
使用File.Exists
来检查文件是否存在。在以下情况下,此方法返回false
可能第二个选项是您的问题。
还有另一种可能性:Resources
是网络共享吗?在这种情况下,您应该使用以下内容:
Image.FromFile("\\\\Resources\\Icons\\key-icon.png");
答案 5 :(得分:0)
对于这种情况,我发现 sikuli 不会自动检测项目的根文件夹。对于这种情况,您应该做的是使用命令 System.getProperty("user.dir");
import org.sikuli.script.*;
public class Test {
public static void main(String[] args) {
Screen s = new Screen();
try{
String pathYourSystem = System.getProperty("user.dir") + "\\";
s.click(pathYourSystem + "imgs/spotlight.png");
//s.wait(pathYourSystem + "imgs/spotlight-input.png");
//s.click();
s.write("hello world#ENTER.");
}
catch(FindFailed e){
e.printStackTrace();
}
}
}