Android: чтение текстового файла в / data / data // файлы - PullRequest
2 голосов
/ 15 марта 2012

Я пытаюсь читать из текстового файла в /data/data/package_name/files.

Это мой код:

private String readTxt(String fileName)
{
    String result = "", line;
    try
    {
        File f = new File(fileName);
        BufferedReader br = new BufferedReader(new FileReader(f));
        while((line = br.readLine()) != null)
        {
            result += line + "\n";
        }
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return result;
}

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 15 марта 2012
private String getStringFromFile(Context accessClass,String fileName){
    String result=null;
    FileInputStream fIn;
    ContextWrapper accessClassInstance=new ContextWrapper(accessClass);

    try {
        fIn = accessClassInstance.openFileInput(fileName);

        InputSource inputSource=new InputSource(fIn);
                    InputStream in = inputSource.getInputStream();

                  if (in != null) {
                 // prepare the file for reading
                      InputStreamReader input = new InputStreamReader(in);
                      BufferedReader buffreader = new BufferedReader(input);

                 result = "";
                while (( line = buffreader.readLine()) != null) {
                       result += line;
                  }
                     in.close();
      Toast.makeText(getApplicationContext(),"File Contents ==> " + result,Toast.LENGTH_SHORT).show();
      }


    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ParserConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SAXException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 



    return result;
}
0 голосов
/ 15 марта 2012

Вы должны использовать метод openFileInput из контекста вашего приложения.http://developer.android.com/reference/android/content/Context.html#openFileInput(java.lang.String)

Что даст вам InputStream для вашего файла Пример: final InputStream is = getApplicationContext (). OpenFileInput (MY_FILENAME_WITHOUT_PATH);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...