Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/23: Рейтинг темы: голосов - 23, средняя оценка - 4.70
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
1

Запись файла

29.05.2013, 14:37. Просмотров 4167. Ответов 7
Метки нет (Все метки)

пытаюсь сохранить картинку на диск но вот в этом месте:
Java
1
OutputStream out = openFileOutput(sdFile.getAbsolutePath(), 0);
происходит исключение, сл. содержания:
"java.lang.IllegalArgumentException: File /mnt/sdcard/ContactBackupData/284BCPhoto.png contains a path separator"
папка предварительно создана, пермишины на чтение и запись добавлены, этим методом в другом приложении все нормально сохраняется, а в чем тут проблемма непойму может кто подскажет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 14:37
Ответы с готовыми решениями:

Запись Файла
Здравствуйте уважаемые форумчане, столкнулся с такой проблемой. Исходный код:...

Запись файла не могу разобраться
Проблема в следующем: с одного аппарата на другой передаю через bluetooth xml...

Чтение и запись JSON файла
Как прочитать и записать, точнее дописать в файл JSON данные? Файл лежит в...

Запись текста в начало файла
Всем привет! Есть файл .txt в каталоге res/raw и код, который записывает в...

Чтение и запись xml файла на SD-карту
Мне нужно из БД сохранять определенную информацию в файл (это будет инфа...

7
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.05.2013, 14:48 2
This method opens a file in the private data area of the application. You cannot open any files in subdirectories in this area or from entirely other areas using this method. So use a FileInputStream or such.
...
1
Good-bad man
255 / 233 / 38
Регистрация: 31.10.2010
Сообщений: 504
29.05.2013, 15:21 3
Хранение данных. Работа с файлами.
1
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
29.05.2013, 15:55  [ТС] 4
ах вот оно что..... странно а как же оно в другом приложении работает.. код 1:1 похож... надо с этим разобраЦа....
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.05.2013, 15:58 5
видимо, в другом приложении используется просто "file_name" а не путь на файл на карте.
1
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
29.05.2013, 17:03  [ТС] 6
ну кажись разобрался... файлы записывает (нужно было действительно только имя файла передавать) но почемуто все файлы нулевого размера, хотя данные для записи dataToWrite точно есть (картинки 10-30 Кб) вот метод:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void writeFotoSD(byte[] dataToWrite,String conID)
    {
        // формируем объект File, который содержит путь к файлу
        String fn = conID+ FILENAME_PHOTO +".png";
        File sdFile = new File(sdPath, fn);
        try
        {           
            FileWriter fr = new FileWriter(sdFile);
 
            FileOutputStream fout = context.openFileOutput(fn, 0);
            // открываем поток для записи
            OutputStreamWriter sw = new OutputStreamWriter(fout);
            // пишем данные
            fout.write(dataToWrite);
            // закрываем поток
            fout.close();           
 
            Log.d("ЗАПИСЬ ФОТО", "Файл записан на SD: " + sdFile.getAbsolutePath());
        }
        catch (IOException e)
        {
            Log.e("ЗАПИСЬ ФАЙЛА", e.getMessage());
        }
        catch (Exception ex)
        {
            Log.e("ЗАПИСЬ ФАЙЛА", ex.getMessage());
        }
    }
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.05.2013, 17:09 7
Java
1
2
3
fout.write(dataToWrite);
fout.flush();
fout.close();

Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
Java
1
OutputStreamWriter sw = new OutputStreamWriter(fout);
а зачем вы создаете OutputStreamWriter который не используете?

Добавлено через 55 секунд
Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
Java
1
FileWriter fr = new FileWriter(sdFile);
и это тоже непонятно зачем.
1
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
29.05.2013, 17:12  [ТС] 8
Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
2
3
fout.write(dataToWrite);
fout.flush();
fout.close();


а зачем вы создаете OutputStreamWriter который не используете?

Добавлено через 55 секунд

и это тоже непонятно зачем.
ой, пардонте, это случайно осталось от предыдущего кода (я же тут экспериментами занимаюсь, учусь знаете ) не судите строго )
0
29.05.2013, 17:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 17:12

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

Запрос разрешения на создание каталога и запись файла на реальном устройстве
public static String FileKeyNumb = FileKey.class.getSimpleName(); private...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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