我正在使用eclipse,我的代码: -
package arrowRecog;
import org.sikuli.api.*;
import java.io.File;
import arrowRecog.res.*;
public class FocusTrain
{
public static void main(String[] args) throws Exception
{
Target oneDown = new ImageTarget(new File("arrowRecog.res","1down.jpg"));
}
}
Run Code Online (Sandbox Code Playgroud)
那个树:
http://i1316.photobucket.com/albums/t601/Preformer/tree_zps1e15285b.jpg
例外情况:
http://i1316.photobucket.com/albums/t601/Preformer/error_zps05bc7502.jpg
问题是字符串文字的"\ 1"部分.那不是反斜杠后跟1 - 这是一个八进制转义序列,产生U + 0001.要获得您想要的字符串,您需要:
Target oneDown = new ImageTarget(new File("arrowRecog.res\\1down.jpg"));
Run Code Online (Sandbox Code Playgroud)
或更好 - 更便携:
Target oneDown = new ImageTarget(new File("arrowRecog.res/1down.jpg"));
Run Code Online (Sandbox Code Playgroud)
甚至更好:
Target oneDown = new ImageTarget(new File("arrowRecog.res", "1down.jpg"));
Run Code Online (Sandbox Code Playgroud)
(实际上,我使用Java的每个平台都已经/作为目录分隔符处理,但是使用带有File两个字符串的构造函数通常仍然是一个好主意.)