2014-11-28 6 views
0

제 질문과 같은 질문을 검색해 보았지만 많은 답변을 찾지 못했습니다. Android Studio에서 자바 클래스에서 텍스트 파일을 열려고하는데, 내가 무엇을하고 어떻게 열려고하는지 -이 오류가 발생합니다 : "... open failed : ENOENT (해당 파일이나 디렉토리 없음) "자바에서 텍스트 파일을 읽을 수 없습니다. (Android 스튜디오)

알다시피 나는 두 가지 옵션을 시도했습니다. 1."File "클래스를 생성했습니다. (시계를 호출 할 때"canRead() " 기능 만 다시 가져 오는 "거짓"값. 2. "을 FileReader"클래스 내 파일의 경로의 ctor를 보내려고. 그 중 비는했다.

감사 alot을!

public void fillDatabase(){ 
    File file = new File("C:\\fillStops.txt"); 

    SQLiteDatabase db = this.getWritableDatabase(); 
    db.execSQL("DELETE FROM " + STOPS_TABLE_NAME); 
    try { 
     FileInputStream fileInputStream = new FileInputStream(file); 
     FileReader fileReader = new FileReader("C:\\fillStops.txt"); 
     BufferedReader bufferedReader = new BufferedReader(fileReader); 
     StringBuffer stringBuffer = new StringBuffer(); 
     String line; 

     while ((line = bufferedReader.readLine()) != null) { 
      this.addStop(line); 
     } 
     fileReader.close(); 
    } 
    catch (Exception e){ 
     String s = e.getMessage(); 
    } 
} 
+4

은 아마 당신의 안드로이드 장치는'C가 없기 때문에 : \ '드라이브 ... – ElefantPhace

+1

이 세상에 세상에 세상에 ... 우리를 구원 ... – vzamanillo

+0

하하, funny1 ..) 그것은 윈도우 야 아니다. – Nitesh

답변

1

이것을 시도하고 sdcard의 루트에 텍스트 파일을 배치하십시오. 그렇지 않으면 다음 코드에서 file 경로를 변경하십시오.

File sdcard = Environment.getExternalStorageDirectory(); 

//Get the text file 
File file = new File(sdcard,"file.txt"); 

//Read text from file 
StringBuilder text = new StringBuilder(); 

try { 
    BufferedReader br = new BufferedReader(new FileReader(file)); 
    String line; 
    String aDataRow = ""; 

     while ((aDataRow = br.readLine()) != null) { 
      line+= aDataRow + "\n"; 
     } 

Log.d(">>>>>", line); 
} 
catch (IOException e) { 
    //You'll need to add proper error handling here 
} 

홉 그게 당신을 위해 물건을 지울 것입니다. :)

P.S 매니페스트에 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 권한을 추가하는 것을 잊지 마세요

.

관련 문제