2016-08-23 4 views
0

Eclipse의 Asset 폴더에서 Sdcard Genymotion 가상 장치로 파일을 복사하지만 오류가 발생했습니다 : java.io.FileNotFoundException :/storage/에뮬레이트 됨/0/tesseract/tessdata/eng.traineddata : 열기 실패 : ENOENT (해당 파일 또는 디렉토리 없음).열기 실패 : ENOENT (해당 파일 또는 디렉토리 없음) 오류 파일을 SdCard로 복사

도와주세요 P/s : 매니페스트 파일에 WRITE_EXTERNAL_STORAGE가 추가되었습니다. 이것은

AssetManager assetManager = getActivity().getAssets(); 
    File file = new File(Environment.getExternalStorageDirectory() 
      + "/tesseract/tessdata", lang + ".traineddata"); 
    if (!(file.exists())) { 
     try { 
      InputStream in = assetManager.open("tessdata/" + lang 
        + ".traineddata"); 
      String sdCardPath = Environment.getExternalStorageDirectory() 
        + "/tesseract/tessdata"; 
      File outFile = new File(sdCardPath + "/", lang + ".traineddata"); 
      OutputStream out = new FileOutputStream(outFile); 
      copyFile(in, out); 
      in.close(); 
      in = null; 
      out.flush(); 
      out.close(); 
      out = null; 
     } catch (IOException e) { 
      Log.e("tag", "Failed to copy asset file: " + lang 
        + ".traineddata", e); 
     } 
    } 
+0

당신이 안드로이드 6.0에서 작업하는 내 코드? 그렇다면 실행 권한을 주어야합니다. 그렇지 않으면 – Bhumit

+0

예 Android 6.0에서 작업하고 있습니다. – HuynhHan

답변

1

사용이

AssetManager assetManager = getActivity().getAssets(); 
    File file = new File(Environment.getExternalStorageDirectory() 
      + "/tesseract/tessdata", lang + ".traineddata"); 
    if (!(file.exists())) { 
     try { 
      InputStream in = assetManager.open("tessdata/" + lang 
        + ".traineddata"); 
      String sdCardPath = Environment.getExternalStorageDirectory() 
        + "/tesseract/tessdata"; 
      new File(sdCardPath).mkdirs(); 
      File outFile = new File(sdCardPath + "/", lang + ".traineddata"); 
      OutputStream out = new FileOutputStream(outFile); 
      copyFile(in, out); 
      in.close(); 
      in = null; 
      out.flush(); 
      out.close(); 
      out = null; 
     } catch (IOException e) { 
      Log.e("tag", "Failed to copy asset file: " + lang 
        + ".traineddata", e); 
     } 
    } 
+0

당신의 솔루션은 완벽하게 작동합니다. Sabish.M – HuynhHan

+0

답장으로 표시해주세요. –

관련 문제