Страница 1 из 1
Строку - в файл.
Добавлено: 22 мар 2013, 00:04
Foenix
Друзья, нужно преобразовать строку, скачаную из секретного места, в файл, и сохранить его куда-то на устройство (в какую-то папку).
Куда копать, подскажите, пожалуйста

Re: Строку - в файл.
Добавлено: 22 мар 2013, 00:05
rezak90
нужно преобразовать строку, скачаную из секретного места
вот здесь не совсем понял, строку в файл записать?
Re: Строку - в файл.
Добавлено: 22 мар 2013, 00:29
Foenix
ага, не записать, а преобразовать. Знаешь, в некоторых языках программирования есть просто такая команда - бац (copy memo ..., StrToFile...), и строчка превратилась в файл))
Вот мне нужно что-то подобное.
Re: Строку - в файл.
Добавлено: 22 мар 2013, 00:33
Foenix
Правда, подозреваю, что тут нужно какой-то buffered read организовать..
Re: Строку - в файл.
Добавлено: 22 мар 2013, 00:37
rezak90
ну в ява такого нету))) стрингу в стрим и стрим в файл, только так
Re: Строку - в файл.
Добавлено: 22 мар 2013, 12:45
KamiSempai
Можно же ее сразу в файл записывать, прямиком из сети, без записи в String переменную.
Так даже проще будет.
Re: Строку - в файл.
Добавлено: 22 мар 2013, 22:16
Foenix
KamiSempai писал(а):Можно же ее сразу в файл записывать, прямиком из сети, без записи в String переменную.
Так даже проще будет.
как?? откройте тайну..
Re: Строку - в файл.
Добавлено: 23 мар 2013, 11:57
KamiSempai
Olivka писал(а):как?? откройте тайну..
Вы каким образом данные из сети читаете? Файлом или ответом от сервера?
Re: Строку - в файл.
Добавлено: 23 мар 2013, 13:12
Foenix
в resultset
Re: Строку - в файл.
Добавлено: 23 мар 2013, 20:27
KamiSempai
Ну это уже не совсем строка. Тогда только как rezak90 говорит.
Хотя, может быть возможно сразу получить InputStream с помощью getAsciiStream и записывать данные прямиком в файл без преобразования в строку. Это лишь мои предположения, с ResultSet я ни разу не работал.
Re: Строку - в файл.
Добавлено: 21 апр 2013, 22:15
Foenix
Пожалуйста, помогите в следующем.
Код: Выделить всё
Blob blob = rs.getBlob("TestBlob");
InputStream is = blob.getBinaryStream();
FileOutputStream fos = new FileOutputStream(this.directory + "/TEST.apk");
int b = 0;
byte[] buffer = new byte[4096];
while ((b = is.read(buffer)) >= 0) {
//fos.write(b);
fos.write(buffer,0,b);
}
fos.close();
is.close();
файл на диск записывается. Сравниваю длину файла - совпадает длина.
Но когда запускаю этот файл-apk, То пишет "Ошибка при синтаксическом анализе пакета". Т.е. что-то все-таки косо записалось.
Как проверить это и что еще можно попробовать??
Re: Строку - в файл.
Добавлено: 21 апр 2013, 22:19
Foenix
Вот сравнила по внешнему виду, видно, что какие-то символы заменились на ?
слева - вариант с андроида, справа - исходный вариант apk
Re: Строку - в файл.
Добавлено: 22 апр 2013, 00:59
KamiSempai
Так, я что-то не пойму, текстовый файл - это apk?
Re: Строку - в файл.
Добавлено: 22 апр 2013, 01:04
Finch
Re: Строку - в файл.
Добавлено: 22 апр 2013, 06:20
Foenix
почему текстовый?
Re: Строку - в файл.
Добавлено: 22 апр 2013, 10:26
KamiSempai
Olivka писал(а):почему текстовый?
То есть строка. Если что, преобразование битового массива в строку не самая удачная идея.
Re: Строку - в файл.
Добавлено: 22 апр 2013, 12:17
Foenix
я по интернету посмотрела - все именно так блобы в файлы на диск записывают! ЧТ значит удачная или неудачная-то?
Re: Строку - в файл.
Добавлено: 22 апр 2013, 14:37
Foenix
вопрос снимаю, разобралась.