2015-11-13 2 views
2

Я выбрал текстовый файл из хранилища и получил его путь (FilePath), пытаюсь прочитать содержимое этого текстового файла и поместить его в edittext .. я использую код ниже, чтобы получить текст данные файла и поместить его в EditText (eTPronounce)Выберите текстовый файл и прочитайте Android

File sdcard = Environment.getExternalStorageDirectory(); 


//Get the text filea 
       File file = new File(sdcard,FilePath); 

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

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

        while ((line = br.readLine()) != null) { 
         text.append(line); 
         text.append('\n'); 
        } 
        br.close(); 
       } 
       catch (IOException e) { 
        //You'll need to add proper error handling here 
       } 

//Find the view by its i 

//Set the text 
      eTPronounce.setText(text); 

      } 
     }); 

Если я заменить FilePath (во второй строке) с любым каталогом, в котором есть текстовый файл его works.For пример, если я заменю FilePath с «Загрузить/текст. txt "работает. Я использовал this ссылку, чтобы получить FilePath

БЛАГОДАРЯ

+0

полного код http://jpst.it/D5an –

+0

вы добавить потребительное разрешение –

+0

если он читает файл, чем то, что это вопрос, я думаю, вы должны проверить наличие файла первым, чем попробовать читать его –

ответ

1

Я думаю, вы должны использовать ниже конструктора

File(File dir, String name) 

или вы можете использовать

File(String path) 

При указании имени каталога, то вам нужно указать имя файла, как показано в первом примере. В противном случае вы можете использовать второй с полным патчем файла ч

+0

, поэтому я должен заменить этот файл file = new File (sdcard, FilePath); с этим файлом File = new File (String, FilePath); –

+0

Не использовать новый файл (FilePath). Я предполагаю, что FilePath полный путь к файлу –

+0

Brooooooooooooooooooo Я люблю тебя thankssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss –

1
if(resultCode==RESULT_OK){ 
    if(data == null || data.getData == null){ 
     //Log.e() 
     return; 
    } 
FilePath = getPath(data.getData(),mActivity); 
setfilename.setText(FilePath); 
} 

    public static String getPath(Uri uri,Context ctx) { 
     String res = null; 
     if(null==uri){ 
      return res; 
     } 
     if (uri != null && uri.toString().startsWith("file://")) { 
      return uri.toString().substring("file://".length()); 
     } 
     String[] proj = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = ctx.getContentResolver().query(uri, proj, null, null, null); 
     if(cursor!=null){ 
      if(cursor.moveToFirst()){ 
       try { 
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
        res = cursor.getString(column_index); 
       }catch (Exception ignored){ 
       }finally { 
        closeCursor(cursor); 
       } 
      } 
     } 
     closeCursor(cursor); 
     return res; 
    } 
+0

Спасибо за помощь! –

+0

Добро пожаловать. –

Смежные вопросы