Как получить строку из TXT-файла в Android Studio? - PullRequest
0 голосов
/ 30 апреля 2018

В Android я могу прочитать строку из текстового файла и распечатать ее с помощью Toast, но мне не удается сохранить ее в переменной для дальнейшего процесса

Код Android:

try {
        FileInputStream fileIn=openFileInput("mytextfile.txt");
        InputStreamReader InputRead= new InputStreamReader(fileIn);
        char[] inputBuffer= new char[READ_BLOCK_SIZE];
        String s = String.valueOf(inputBuffer[0]);
        int charRead;
        while ((charRead=InputRead.read(inputBuffer))>0) {

            String readstring=String.copyValueOf(inputBuffer,0,charRead);
            s +=readstring;
        }
        InputRead.close();
        Toast.makeText(getBaseContext(), s,Toast.LENGTH_SHORT).show();

        String a = s;
        StringRequest request = new StringRequest(Request.Method.POST, "http://"+a+"/try.php",
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                HashMap<String, String> map = new HashMap<>();
                map.put("encoded_string", encoded_string);
                map.put("image_name","IMG_Hello.jpg");
                return map;
            }
        };

String a должен содержать строку, которая хранится в mytextfile.txt

Кто-нибудь может дать мне какие-нибудь идеи? Поскольку в настоящее время в приведенном выше коде String a не удается сохранить текст из mytextfile.txt

1 Ответ

0 голосов
/ 30 апреля 2018

Попробуйте этот код ..

private void writeToFile(String data,Context context) {
try {
    OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput("mytextfile.txt", Context.MODE_PRIVATE));
    outputStreamWriter.write(data);
    outputStreamWriter.close();
}
catch (IOException e) {
    Log.e("Exception", "File write failed: " + e.toString());
} 

}

выше метода передать ваше значение будет написано определить файл. и если вы хотите добавить, то передайте только

writeToFile(a)// pass string value.

и я надеюсь, что вы добавите разрешение на чтение и запись в файл манифеста Android, как показано ниже ..

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
...