2009-06-06 22 views
22

通常は、このコードはFileからIFileに変換するために使用されます。javaファイル用プロジェクトの外のファイルのために、ファイルをIFile形式のjava形式に変換するには?

IWorkspace workspace= ResourcesPlugin.getWorkspace();  
IPath location= Path.fromOSString(file.getAbsolutePath()); 
IFile ifile= workspace.getRoot().getFileForLocation(location); 

しかし、これだけで作品をプロジェクト内。 Fileファイルがワークスペースにない(プロジェクトではない)ときに、どうすればIFileを入手できますか?

+0

あなたは3行目でgetFileForLocationを意味しましたか? –

答えて

3

私は、Eclipse AST・フレームワークからバインディング解像度を使用するため、これを必要としていました。しかし、どうやら、これが不可能である - それを必要とする人のために、このサイトをチェックしてください。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=206391

9

IResourceとその子IFileはもともとのみ、ワークスペース内にあるリソースのために使用されることを意味していました。 Javadoc for IResourceを参照してください。

しかし、Eclipseの3.3以降が外部ファイルのサポートも同様で、this Eclipse Wiki pageを参照してください。

+0

私は、このソリューションを試してみましたが、私は java.lang.IllegalStateExceptionこのエラーを取得する:ワークスペースを閉じています。 私はこのように、ワークスペースを取得しよう: IWorkspace WS = ResourcesPlugin.getWorkspace(); この問題をお手伝いできますか? –

+0

Eclipse Wikiリンクが壊れています。 –

関連する問題