2017-07-01 10 views
0

Springアプリケーションをローカルホストに移動し、リソースローダーにロードできるようにリソースローダーにロードできるようにします。サーバー。以下のコードは、デスクトップに保存されているコンピュータ上の有効な.txtファイルにファイルにアクセスしようとしています。Spring:resourceLoaderを使用して、マシンにあるファイルをクラスパスに挿入する方法

以下は私のリソースローダー実装です。

@Component 
@Scope("prototype") 
public class CustomResourceLoader implements ResourceLoaderAware { 
    @Autowired 
    private ResourceLoader rsld; 

    @Override 
    public void setResourceLoader(ResourceLoader rsld) { 
     // TODO Auto-generated method stub 
     this.rs = rs; 
    } 
    public void showResource(String path) throws IOException{ 
     Resource resour = rsld.getResource("file:"+path); 
     File fl = resour.getFile(); 
     System.out.println(fl.exists()); 
     System.out.println(fl.getAbsoluteFile()); 
     System.out.println(fl.getName()); 
    } 

} 

出力を表示するリソースメソッドを呼び出すと、次のとおりです。

false 
/Users/wes/Documents/workspace/rest-services-AM/{ 
    "/Users/wes/Desktop/wes.txt"} 
wes.txt 

私はこれは私がそれを使用することはできませんので、私のリソースは、実際のファイルを返していないことを意味することを理解しています。どんな助けもありがとう。

ありがとうございました。

答えて

0

誰もが知っておくように思わないので、私はそれはのようにダブルスラッシュを使用するだけでnecessairyだということが分かった:ファイル::のような前の文、:いくつかのケースでは、ファイルを必要とする

@Value("\\\\MY-MACHINE\\thefile.txt") 
private Resource file; 

を\\ MY-MACHINE \ thefile.txt "

関連する問題