Хобрук: Ваш путь к мастерству в программировании

Дата в заголовке документа Android?

Что ж, у меня есть PDF-файл, сгенерированный в приложении для Android, но мне нужно, чтобы в заголовке были дата и время системы. Поэтому я скомпилировал этот код:

public void createPDF()
{
    Document doc = new Document();

     try {
         Date date = new Date();
         String dateTime = DateFormat.getDateTimeInstance().format(date);
         File sdCard = Environment.getExternalStorageDirectory();
         File dir = new File (sdCard.getAbsolutePath() + "/Bitacora");
         dir.mkdirs();
         File file = new File(dir, "Bitácora "+idetotrocliente.getText().toString()+", "+dateTime+vwfecha1.getText().toString()+etsitio.getText().toString()+".pdf");
         FileOutputStream fOut = new FileOutputStream(file);

Но когда я пытаюсь создать PDF-файл в приложении, журнал выдает мне эту ошибку:

08-28 21:32:38.950: E/PDFCreator(12425): ioException:java.io.FileNotFoundException: /mnt/sdcard/Bitacora/Bitácora ¡VALOR NECESARIO!, ago 28, 2013 9:32:24 p.m..pdf (Invalid argument)

И когда я удаляю переменную dateTime, PDF-файл генерируется правильно, но мне нужно, чтобы дата была в заголовке. Что я могу сделать? :(

29.08.2013

  • Ошибки, похоже, FileNotFound. Вы уверены, что имя файла содержит дату и время в своем имени ... и в том же формате и порядке? Ty, чтобы напечатать имя, которое вы пытаетесь использовать, а затем cpmpae с фактическим именем плитки. 29.08.2013
  • может быть, переменная dateTime имеет специальный символ, которому не разрешено называть файл, например / 29.08.2013
  • ЭТО может быть, как система дает мне дату. Есть ли другой способ получить свидание без запрещенных символов? 29.08.2013
  • Теперь формат Mm dd, yyyy hr:min:sec am 29.08.2013

Ответы:


1

Проблема, кажется, из-за :. См. раздел какие символы разрешены в именах файлов на Android?. : является своего рода зарезервированным символом, поэтому его нельзя использовать в имени файла. Попробуйте заменить это на "" (т.е. пустую строку), используя .replace. Затем используйте его для создания PDF. Также см. Android - как заменить часть строка на другую строку?

29.08.2013
Новые материалы

Понимание СТРУКТУРЫ ДАННЫХ И АЛГОРИТМА.
Что такое структуры данных и алгоритмы? Термин «структура данных» используется для описания того, как данные хранятся, а алгоритм используется для описания того, как данные сжимаются. И данные, и..

Как интегрировать модель машинного обучения на ios с помощью CoreMl
С выпуском новых функций, таких как CoreML, которые упростили преобразование модели машинного обучения в модель coreML. Доступная модель машинного обучения, которую можно преобразовать в модель..

Создание успешной организации по науке о данных
"Рабочие часы" Создание успешной организации по науке о данных Как создать эффективную группу по анализу данных! Введение Это обзорная статья о том, как создать эффективную группу по..

Технологии и проблемы будущей работы
Изучение преимуществ и недостатков технологий в образовании В быстро меняющемся мире технологии являются решающим фактором в формировании будущего работы. Многие отрасли уже были..

Игорь Минар из Google приедет на #ReactiveConf2017
Мы рады сообщить еще одну замечательную новость: один из самых востребованных спикеров приезжает в Братиславу на ReactiveConf 2017 ! Возможно, нет двух других кланов разработчиков с более..

Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..