Ошибка закрытия файла - PullRequest
       2

Ошибка закрытия файла

0 голосов
/ 19 сентября 2018

У меня возникла проблема с правильным закрытием операции записи в файл из EditText.Поскольку метод close () помещен в блок finally, в первый раз я получил сообщение об ошибке «невозможно разрешить ...».Тогда я заставил заявление стать частью сферы.К сожалению, теперь моя операция записи работает только для первой введенной строки, остальные помечены как «ноль».Где я должен поместить оператор close (), чтобы не выдавать ошибку, и записать все введенные строки?Вот мой код:

    ajoutarticles =  (EditText)findViewById(R.id.edtajouter);
    btnajouter = (Button)this.findViewById(R.id.btnajouter);

    btnajouter.setOnClickListener(new View.OnClickListener() {
        @Override
        //File path  = new File(this.getFilesDir().getPath());
        public void onClick(View v) {

            PrintWriter printWriter = null;
            try {
                choix = ajoutarticles.getText().toString();
                File output2 = new File(getApplicationContext().getExternalFilesDir(null), "shopping.txt");
                FileWriter fileWriter = new FileWriter(output2.getAbsolutePath(), true);
                BufferedWriter buffer = new BufferedWriter(fileWriter);
                printWriter = new PrintWriter(buffer);
                printWriter.println(choix);


                //Toast.makeText(ListeCourses.this, String.valueOf(i), Toast.LENGTH_LONG).show();
                Toast.makeText(ListeCourses.this, String.valueOf(choix), Toast.LENGTH_LONG).show();
                Log.d("MainActivity", "Ligne du fichier = [" + choix + "]");
                Log.d("MainActivity", "Fichier = [" + output2 + "]");

            } catch (IOException e) {
                Log.e("Exception", "File write failed: " + e.toString());
            } finally {
                printWriter.close(); // Error
            }
        }

    });

Большое спасибо за вашу помощь.

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