Чтение + Запись текстовых файлов

Всех приветствую. Столкнулся с проблемами записи и чтения файлов.

Код кнопки "Save":

save.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final EditText edit = new EditText(getActivity());
            edit.setInputType(InputType.TYPE_CLASS_TEXT);
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setTitle("Сохранить")
                    .setMessage("Введите название файла для сохранения")
                    .setView(edit)
                    .setPositiveButton("Сохранить", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            sname = edit.getText().toString();
                            save(sname);
                            sname = null;
                        }
                    })
                    .setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which)
                        {

                        }
                    });
            builder.show();
        }
    });

 public void save (String name) {
        try {
            File f = new File(name + ".txt");
            PrintWriter pw = new PrintWriter(name + ".txt");
            f.createNewFile();
            pw.println(a);
            pw.close();
        } catch (IOException e) {
            Toast t = Toast.makeText(getActivity(), "Ошибка: Файл уже создан, выберите другое имя файла!", Toast.LENGTH_LONG);
            t.show();
        }

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

Код кнопки "Open":

 open.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
            File fol = new File("gallery");
            String [] files = fol.list(new FilenameFilter() {
                @Override
                public boolean accept(File dir, String name) {
                    return name.endsWith(".txt");
                }
            });
            final Spinner list = new Spinner(getActivity());
            SpinnerAdapter adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, files);  //в этой строке NullPointerException
            list.setAdapter(adapter);
            alert.setTitle("Открыть файл")
                    .setMessage("Выберите файл для открытия")
                    .setPositiveButton("Открыть", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            sname=list.getSelectedItem().toString();
                            open(sname);
                            sname=null;
                        }
                    })
                    .setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which){
                        }
                    })
                    .setView(list);
        }
    });

public void open(String name) {
    try {
        BufferedReader bf = new BufferedReader(new FileReader(name));
        a= bf.readLine();
        bf.close();
        DayChange(a);
    } catch (FileNotFoundException e) {
        Toast t = Toast.makeText(getActivity(),"Файл не найден", Toast.LENGTH_LONG);
        t.show();
    } catch (IOException e) {
        Toast t = Toast.makeText(getActivity(),"Файл не заполнен", Toast.LENGTH_LONG);
        t.show();
    }

    }

Здесь в обозначенной строке происходит NullPointerException. Понимая, что файлы не создаются кнопкой "Save", создавал самостоятельно пару текстовых файлов рядом с файлом .java. Предполагал, что проблема кроется в одном и том же, прошу помощи ...


Ответы (0 шт):