3

私はこの問題を解決するためにかなりの時間を費やしましたが、役に立ちませんでした。Googleだけでなくstackoverflowも検索しましたが、(一見)単純な問題を解決できませんでした。

次の行でFileNotFoundExceptionが発生しています。

Image.FromFile("\\Resources\\Icons\\key-icon.png");

フォルダと画像は本当にそこにあり、何が問題なのかわかりません。

4

6 に答える 6

11

「yourproject/bin / Release」から開始されることを考慮する必要があるため、2つのディレクトリを上に移動する必要があります。これを行う:

Image.FromFile("..\\..\\Resources\\Icons\\key-icon.png"); 
于 2012-09-10T11:21:57.920 に答える
4

相対パスではなく絶対パスを使用してみてください...つまり

Image.FromFile(Server.MapPath(@"~\Resources\Icons\key-icon.png"));
于 2012-09-10T11:19:47.860 に答える
1
Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                            @"Resources\\Icons\\key-icon.png"))

ベースディレクトリファイル名を組み合わせる

于 2012-09-10T11:50:59.150 に答える
0

先頭の「。」が欠落している可能性があります。

Image.FromFile(".\\Resources\\Icons\\key-icon.png");
于 2012-09-10T11:14:51.507 に答える
0

内部的には、ファイルが存在するかどうかを確認するためにImage.FromFile使用します。File.Existsこのメソッドは次のfalse場合に戻ります。

  • ファイルが存在しません(意味があります)
  • 現在のプロセスIDには、ファイルを読み取る権限がありません

2番目のオプションがあなたの問題である可能性があります。

そして別の可能性:Resourcesネットワーク共有ですか?その場合、以下を使用する必要があります。

Image.FromFile("\\\\Resources\\Icons\\key-icon.png");
于 2012-09-10T11:22:32.010 に答える
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();
            }
    }
}
于 2021-03-26T15:28:33.727 に答える