2013-02-24 1 views
3

매번 그것은 나에게 "디코딩 할 수없는 스트림 java.io.FileNotFoundException 제공 개방 Faild EISDIR이 (가 디렉토리)Failed EISDIR (디렉토리입니다.) ..이 문제를 해결하는 방법?/:

나는이 오류를 제거 할 수있는 방법

것은 ..이 클래스는 많은 작업에서 잘 작동되었다 I '완료했습니다! 여기

내가 제대로 호출해야 비트 맵

private class ImageLoaderTask extends AsyncTask<HashMap<String, Object>, Void, HashMap<String, Object>>{ 

    @Override 
    protected HashMap<String, Object> doInBackground(HashMap<String, Object>... hm) { 

     InputStream iStream=null; 
     String imgUrl = (String) hm[0].get("image"); 
     int position = (Integer) hm[0].get("position"); 

     URL url; 
     try { 
      url = new URL(imgUrl); 

      // Creating an http connection to communicate with url 
      HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 

      // Connecting to url 
      urlConnection.connect(); 

      // Reading data from url 
      iStream = urlConnection.getInputStream(); 

      // Getting Caching directory 
      File cacheDirectory = getBaseContext().getCacheDir(); 

      // Temporary file to store the downloaded image 
      File tmpFile = new File(cacheDirectory.getPath() + "/wpta_"+position+".png"); 

      // The FileOutputStream to the temporary file 
      FileOutputStream fOutStream = new FileOutputStream(tmpFile); 

      // Creating a bitmap from the downloaded inputstream 
      Bitmap b = BitmapFactory.decodeStream(iStream); 

      // Writing the bitmap to the temporary file as png file 
      b.compress(Bitmap.CompressFormat.PNG,100, fOutStream); 

      // Flush the FileOutputStream 
      fOutStream.flush(); 

      //Close the FileOutputStream 
      fOutStream.close(); 

      // Create a hashmap object to store image path and its position in the listview 
      HashMap<String, Object> hmBitmap = new HashMap<String, Object>(); 

      // Storing the path to the temporary image file 
      hmBitmap.put("photo",tmpFile.getPath()); 
      Log.d("photopah", tmpFile.getPath()); 

      // Storing the position of the image in the listview 
      hmBitmap.put("position",position); 

      // Returning the HashMap object containing the image path and position 
      return hmBitmap; 

     }catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
+0

TMPFILE = 새 파일을 파일 - 파일을 생성하는 두 개의 매개 변수 버전을 사용해보십시오 ("wpta _"+ 위치 + 경우 cacheDirectory를 "PNG를.") 이렇게하면 첫 번째 매개 변수의 디렉토리 안에 파일이 생성됩니다. 또한 파일 시스템을 점검하고 실수로 디렉토리를 만들지 않았는지 확인하십시오. –

+0

시도했지만 똑같은 오류가 발생했습니다. – vezikon

답변