Я пытаюсь загрузить файл на http-сервер, но сначала мне нужно закодировать его в формате base64. Как мне это сделать? Я открыл соединение с файлом, но я не знаю, как закодировать файл.Кодировать файл в формате Base64 - Blackberry/J2ME
ответ
Если вы делаете это в Java вы можете использовать BASE64Encoder и записать в новый кодированный файл:
import sun.misc.BASE64Encoder;
public static void main(String[] args) throws Exception {
File inputFile = new File(yourUnencodedFile);
File outputFile = new File(yourEncodedFile);
BASE64Encoder encoder = new BASE64Encoder();
encoder.encode(
new FileInputStream(inputFile),
new FileOutputStream(outputFile)
);
, а затем просто использовать закодированный выходной файл
К сожалению, этот класс недоступен в J2ME –
Этот класс даже не является частью стандарта Java SE, и использование его делает ваше приложение не переносимым даже в разных реализациях Java SE (попробуйте запустить этот код в OpenJDK). А на не-Java SE JVM (т. Е. Java ME или Blackberry) у вас определенно нет доступа к нему. –
Да, я очень сожалею о том, что OP, я видел ярлык Java и отвечал выше себя, и хотя по какой-то причине это делалось на Java (для меня не было более поздних ночных SO-ответов). и @Joachim спасибо, я на самом деле не знал, что пакеты солнца не поддерживались в публичном интерфейсе http://java.sun.com/products/jdk/faq/faq-sun-packages.html, так что спасибо за обучение мне, что – Mike
Поскольку BlackBerry является среда J2ME , вы не можете использовать обычные кластеры J2SE, такие как sun.misc.BASE64Encoder, но есть родной класс Base64OutputStream, который должен работать с той же целью. См. Javadocs для получения дополнительной информации.
'sun.misc.BASE64Encoder' ** не ** обычный класс J2SE! –
@Joachim Sauer Это не меняет того факта, что он недоступен на BlackBerry или других устройствах java-me. Марк противопоставляет свой ответ Майку. –
yes, picky picky :) –
Этот класс java-me Base64 для кодирования в формате base64.
Дополнительные примеры: koders или это Java и ME сообщение в блоге: Base64 encode-decode in JavaMe.
Хотя на BlackBerry есть классы Base64InputStream и Base64OutputStream (с OS 4.6), которые позволяют вам делать это без использования сторонних классов. В любом случае это сработает. –
FYI, классы Base64InputStream и Base64OutputStream существуют уже давно - начиная с версии 3.6.0 или 4.0.2 - это только новый конструктор Base64OutputStream (с newlineTrigger), который был добавлен в 4.6. –
- 1. Base64-кодировать файл и сжимать его
- 2. Как кодировать BASE64 URL?
- 3. Кодировать значение как base64
- 4. Попытка Base64 кодировать эту переменную
- 5. Изображение в формате JPEG в формате base64
- 6. Как кодировать файл в base64 в форме загрузки
- 7. Кодировать MP3-файл на base64 строку в Ionic
- 8. Base64 Кодировать изображение и сохранить его позже в файл
- 9. Как base64 кодировать заголовок apache?
- 10. Кодировать изображение ImageMagick с Base64
- 11. Как Base64 кодировать URL-адреса?
- 12. Как кодировать Base64 на iPhone
- 13. Кодировать строку в Base64 в MSBuild
- 14. Как кодировать base64 md5 в CGI?
- 15. Как кодировать (декодировать) base64 в C?
- 16. Как кодировать почерку PHP в base64?
- 17. Кодировать изображение в строку, используя формат Base64
- 18. Android: кодировать изображение (типа файла) в Base64
- 19. Кодировать `~ str` до base64 в Rust
- 20. Кодировать файл с cmd
- 21. Javascript Base64 Удаленный файл
- 22. Кодировать base64 и Decode base64 с помощью delphi 2007
- 23. Как шифровать/кодировать массив в дружественном URL-формате лучше, чем использовать serialize и base64
- 24. Кодировать и декодировать - JPG to base64
- 25. Кодировать и декодировать изображения из Base64 Ionic
- 26. Кодировать изображение на Base64 от Amazon S3
- 27. кодировать изображение на base64 не равно оригиналу
- 28. Кодировать и декодировать HTML с base64 андроида
- 29. Как кодировать URL как строку base64?
- 30. Как кодировать NSData как base64? (iPhone/iPad)
Возможный дубликат [Преобразование массива байтов в base64 для ежевики с использованием Eclipse] (http://stackoverflow.com/questions/3753629/convert-a-byte-array-to-base64-for-blackberry-using-eclipse) –