我嘗試下載我的應用程序內的圖像文件進行查看,但我不斷收到「java.io.FileNotFoundException」即使我可以查看我的形象瀏覽器。這是假設下載文件的代碼。你可以測試鏈路上的瀏覽器安卓:java.io.FileNotFoundException即使文件可在瀏覽器
new Thread(new Runnable() {
@Override
public void run() {
String filepath = Environment.getExternalStorageDirectory().getAbsolutePath();
String sample = "https://yande.re/image/617a7bff242f2ec56ccfc84df53604fc/yande.re%20263544%20chibi%20shinomiya_himawari%20vividred_operation.jpg";
try
{
URL url = new URL(sample);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setDoOutput(true);
urlConnection.connect();
File SDCardRoot = new File(Environment.getExternalStorageDirectory(),"Yandere/Wallpapers");
SDCardRoot.mkdirs();
String filename="downloadedFile.jpg";
Log.i("Local filename:",""+filename);
File file = new File(SDCardRoot,filename);
if(file.createNewFile())
{
file.createNewFile();
}
FileOutputStream fileOutput = new FileOutputStream(file);
InputStream inputStream = urlConnection.getInputStream();
int totalSize = urlConnection.getContentLength();
int downloadedSize = 0;
byte[] buffer = new byte[1024];
int bufferLength = 0;
while ((bufferLength = inputStream.read(buffer)) > 0)
{
fileOutput.write(buffer, 0, bufferLength);
downloadedSize += bufferLength;
Log.i("Progress:","downloadedSize:"+downloadedSize+"totalSize:"+ totalSize) ;
}
fileOutput.close();
if(downloadedSize==totalSize) filepath=file.getPath();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
filepath=null;
e.printStackTrace();
}}
}).start();
錯誤:
08-05 16:36:28.032: W/System.err(17064): java.io.FileNotFoundException: https://yande.re/image/617a7bff242f2ec56ccfc84df53604fc/yande.re%20263544%20chibi%20shinomiya_himawari%20vividred_operation.jpg
08-05 16:36:28.032: W/System.err(17064): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
08-05 16:36:28.032: W/System.err(17064): at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
08-05 16:36:28.032: W/System.err(17064): at angel.util.Downloader$1.run(Downloader.java:52)
08-05 16:36:28.032: W/System.err(17064): at java.lang.Thread.run(Thread.java:856)
發表您的堆棧跟蹤,請 – Enigma
如果更改HTTPS爲純老的HTTP,會發生什麼? – iaindownie
加了我的logcat – Tsukihara