2014-06-10 116 views
0

我正在編寫一個Android應用程序,我需要做一些我認爲令人難以置信的簡單的事情,但是我正在最困難的時候弄清楚。獲取具有文件名的文件的路徑

如何獲取JPG文件的路徑,以便我可以將其上傳到服務器?

該文件是snoopy.jpg並且是res/drawable文件夾

我已經試過:

File sourceFile = new File("android.resource://com.appname.something/drawable/snoopy"); 

但是,這不是一個文件

我已經試過:

File sourceFile = new File("drawable/snoopy"); 

並且不起作用。

我試圖把snoopy.jpg在應用程序的根目錄下,並嘗試:

File sourceFile = new File("/snoopy.jpg"); 

這仍然沒有奏效。

任何幫助將不勝感激!

+0

創建一個文件我不是Adroid程序員,但不是類似於:'File sourceFile =新文件(「/ res/snoopy.jpg」);'工作? – Eypros

+1

資源不是作爲單獨的文件存儲的,但是您可以從資源數據創建文件,請參見[「如何將可繪製資源寫入文件?」](http://stackoverflow.com/q/10174399/2991525) – fabian

回答

2

試試這個:

InputStream is = getResources().openRawResource(R.drawable.snoopy); 

您可以從您繪製資源使用上面的代碼打開一個InputStream。另外,在執行任何文件操作之前,您需要檢查file.exist()是否返回false,然後您需要通過f.createNewFile();