Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
CarterSS
2 / 2 / 1
Регистрация: 10.05.2014
Сообщений: 52
#1

Создание файла, запись в файл - не работает код - Программирование Android

15.04.2015, 22:33. Просмотров 1162. Ответов 17
Метки нет (Все метки)

Нужна помощь, бьюсь уже несколько дней, думал осилю, но ничего не получается. Существует куча примеров по созданию файлов, папок, записи в файл, но перепробовал очень много вариантов, приложение вылетает на этом примере

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (connection.isClosed()) {
            Context ctx = null;
 
            String dirPath = ctx.getFilesDir().getAbsolutePath() + File.separator + "test";
            File projDir = new File(dirPath);
            if (!projDir.exists())
                projDir.mkdirs();
 
            String fileName = "data.txt";
 
            FileOutputStream outputStream = null;
            try {
                outputStream = ctx.openFileOutput(dirPath+fileName, ctx.MODE_PRIVATE);
                outputStream.write(Message.getBytes());
                outputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
Отладить на данный момент не могу, не позволяют ресурсы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2015, 22:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание файла, запись в файл - не работает код (Программирование Android):

Запись в файл, код работает некорректно - C#
StreamWriter sw; // объект потока для записи StringBuilder builder; // построитель строк builder = new...

Запись строки в файл не работает, хотя код корректный - C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using...

Запись из одного файла в другой, поясните, почему не работает код, пожалуйста - C++
Драйжайшие господа, извольте пожалуйста взглянуть на код, и пояснить мне, почему ничего не получается; Условие следующее: Дан файл f,...

Создание файла для записи и чтения, запись в файл данных - C++
Написать простейшую программу, которая для своей работы использует системные вызовы функций и предоставляет следующие...

Создание/открытие файлов, чтение из файла и запись в файл через наследование - C++
Имеется следующая иерархия классов: Файл, Типизированный файл, Текстовый файл Методы: Создать/Открыть файл, Чение из файла, Запись в...

Чтение текстового файла. Парсинг его данных. Создание исключений для данных. Запись свойств объектов в файл - Java SE
Проблема такая. Есть файл data.txt. В нем например какие-то данные. Landon Donovan, 150, A Hulk Hogan , 100, M Duke Nukem, 50,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 842
15.04.2015, 22:53 #2
CarterSS,
Цитата Сообщение от CarterSS Посмотреть сообщение
Context ctx = null;
String dirPath = ctx.getFilesDir().getAbsolutePath() + File.separator + "test";
можете пояснить данный участок кода?)
CarterSS
2 / 2 / 1
Регистрация: 10.05.2014
Сообщений: 52
15.04.2015, 23:05  [ТС] #3
Прошу сильно не ругаться, не разобрался в понятии Context. Даже вот так не получаю директорию
Java
1
2
3
4
String dirPath = File.separator + "test";
            File projDir = new File(dirPath);
            if (!projDir.exists())
                projDir.mkdirs();
А здесь ловлю эксепш
Java
1
2
3
4
5
6
7
8
9
10
String fileName = "xztracker_data.txt";
 
            FileOutputStream outputStream = null;
            try {
                outputStream = this.context.openFileOutput(dirPath+fileName, this.context.MODE_APPEND);
                outputStream.write(locationMessage.getBytes());
                outputStream.close();
            } catch (Exception e) {
                StatusActivity.addMessage(context.getString(R.string.sending_message));
            }
Подскажи, как исправить?
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
16.04.2015, 00:47 #4
this.context.MODE_APPEND разве работает, если файла нет?
CarterSS
2 / 2 / 1
Регистрация: 10.05.2014
Сообщений: 52
16.04.2015, 07:47  [ТС] #5
fgtmenow, пробовал MODE_PRIVATE, тоже глухо. Ладно файл, хотя бы папку создать...
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
16.04.2015, 08:40 #6
а пепмишн то есть на работу с картой? оба?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
16.04.2015, 09:09 #7
Java
1
Context ctx = getActivity();
CarterSS
2 / 2 / 1
Регистрация: 10.05.2014
Сообщений: 52
16.04.2015, 09:29  [ТС] #8
fgtmenow, Есть конечно, но я хочу писать в internal.
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
16.04.2015, 09:32 #9
тут тебе рут тогда нужен
CarterSS
2 / 2 / 1
Регистрация: 10.05.2014
Сообщений: 52
16.04.2015, 16:35  [ТС] #10
Rube, попробую позже и отпишу результат, спасибо

Добавлено через 4 часа 12 минут
Цитата Сообщение от Rube Посмотреть сообщение
Context ctx = getActivity();
Нет, не подходит, не существует в моем классе getActivity().
Может быть так,
Java
1
 Context ctx = this;
?

Добавлено через 30 минут
Чего еще не хватает?

XML
1
2
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if (connection.isClosed()) {
            Context ctx = this.context;
            // Create a file in the Internal Storage
            String dirPath = ctx.getFilesDir().getAbsolutePath() + File.separator + "log" +File.separator;
            File projDir = new File(dirPath);
            if (!projDir.exists())
                projDir.mkdirs();
 
            String fileName = "data.txt";
 
            FileOutputStream outputStream = null;
            try {
                outputStream = this.context.openFileOutput(dirPath+fileName, this.context.MODE_PRIVATE);
                outputStream.write(locationMessage.getBytes());
                outputStream.close();
            } catch (Exception e) {
                
            }
        }
    }
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
17.04.2015, 08:00 #11
Цитата Сообщение от CarterSS Посмотреть сообщение
не существует в моем классе getActivity().
1. Класс наследуется от чего? Как вариант - при вызове конструктора передавать в него context, а в нем присваивать его.
Java
1
2
3
4
5
6
7
public class MyClass {
    Context context;
    
    public MyClass(Context context){
        this.context = context;
    }
}
2. Или попробуйте getApplicationContext()
Vladimirys
307 / 204 / 25
Регистрация: 16.01.2010
Сообщений: 585
20.04.2015, 00:44 #12
А карта памяти вообще существует на тестируемом устройстве/эмуляторе.
CarterSS
2 / 2 / 1
Регистрация: 10.05.2014
Сообщений: 52
20.04.2015, 09:19  [ТС] #13
Vladimirys, даже дело не в карте, в родную память не хочет писать, создавать папку...
Vladimirys
307 / 204 / 25
Регистрация: 16.01.2010
Сообщений: 585
20.04.2015, 10:33 #14
А на карту пишет? Пробуйте записать для начала на карту. Да и собственно, как сказали выше, телефон должен быть рутованный. Вот еще ссылка по теме. http://stackoverflow.com/questions/5...ternal-storage
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
20.04.2015, 11:09 #15
Vladimirys, да у него context = null.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2015, 11:09
Привет! Вот еще темы с ответами:

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран - Turbo Pascal
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран 2.Ввод с клавиатуры и запись в массив,...

Запись чисел из файла 1, и запись в файл 2 в отсортированном виде - PascalABC.NET
Задание: Есть файл 1, в нем находятся числа, нужно их отсортировать по возрастанию и записать в файл 2. У меня получается бред какой-то,...

Не работает код (программа считывает из файла строку, убирает лишние пробелы и записывает в другой файл строку, словами наоборот) - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; using namespace std; string...

Multimap STL - работает только запись в файл, поиск в файле не работает - C++
И снова здравствуйте. Снова я прошу вашей помощи. Переделал программу с мапом в мульти мап, но что то пошло не так и работает только запись...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.04.2015, 11:09
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru