os.system, похоже, всегда вызывает sh, которая не распознает параметры s и n для чтения. Однако команда чтения может быть передана в bash:
os.system("""bash -c 'read -s -n 1 -p "Press any key to continue..."'""")
Класс Даты имеет неуклюжий API. Лучшая реализация является Joda-разовой.
Joda-разовый также позволяет Вам преобразовывать свою дату в стандартном формате ISO 8601 (yyyy-mm-ddTHH:MM:SS.SSS). Используя этот стандарт, когда движущиеся даты от сервера до его клиента имеет преимущество для включения полной даты в читаемый формат. При использовании, например, JAXB представлением XML даты является также этот стандарт ISO. (см. класс XMLGregorianCalendar),
Сериализация длинного, возвращенного Date.getTime (), как ранее предложено, будет работать. Необходимо однако отметить, что, если сервер находится в другом часовом поясе, чем клиент, дата, Вы восстановите, с другой стороны будет отличаться. Если Вы хотите, хотят восстановить точно тот же самый объект даты, который что также необходимо отправить часовому поясу (TimeZone.getID ()) и использовать его для восстановления даты с другой стороны.
java.sql. Дата расширяет java.util. Дата
Просто используйте getTime () для получения длинного значения от него. Это может быть сериализировано и новый java.sql. Дата (длинный) или новый java.util. Дата (долго) создается из него в другом конце.
Для ответа на первую часть вопроса я предложил бы строку в формате ISO 8601 (это - стандарт для кодирования дат).
Для второй части я не уверен, почему Вам был бы нужен прокси-класс? Или почему необходимо было бы расширить класс даты для поддержки этого. например, разве Ваш веб-сервис не знал бы, что определенное поле является датой, и преобразование из даты, чтобы представить в виде строки и поддержать себя? Мне было бы нужно немного больше информации.
один протест с java.sql. Дата, которая укусила меня недавно, - то, что это не хранит части времени (часы, минуты, секунды, и т.д.) просто часть даты. если Вы хотите полную метку времени, необходимо использовать java.util. Дата или java.sql. Метка времени
Вам не нужен конструктор по умолчанию (пустой) для сериализирования/десериализовывания даты (любой java.sql. Дата или java.util. Дата). Во время десериализации конструктора не вызывают, но атрибуты объектного набора непосредственно к значениям от сериализированных данных, и можно использовать объект, как это - так как это десериализовало.
Я изучил реализацию java.sql. Дата и поскольку я вижу его java.sql. Дата является сериализуемой как расширение java.util. Дата.
Вы могли использовать кодер и декодировать, чтобы сериализировать и десериализовать Ваши объекты.
Вот пример, который сериализирует Прямоугольный класс SWT:
XMLEncoder encoder = new XMLEncoder(new FileOutputStream(file));
encoder.setPersistenceDelegate(
Rectangle.class,
new DefaultPersistenceDelegate(new String[]{"x", "y", "width", "height"}));
encoder.writeObject(groups);
encoder.close();
Во-первых при использовании веб-сервисов это означает, что Вы сериализируете к XML и не Вашей регулярной сериализации Java (но некоторая другая библиотека для маршалинга и немаршалинга). Таким образом, вопрос испытывает недостаток в некоторой информации.
Во-вторых, если Вы управляете своим расширением попытки InputStream & OutputStream ObjectOutputStream и ObjectInputStream и переопределяете replaceObject () и resolveObject (), и затем можно реализовать сериализацию для java.sql. Дата.
java.sql. Дата уже реализует сериализуемый так никакая потребность реализовать его :-)
Что касается Вашего основного вопроса, я глубоко люблю JAXB, поскольку я могу повернуть почти любой XML в объект, таким образом, это могло бы стоить Вашего, в то время как изучить его.
Хм... Не может думать ни о какой причине, почему любой сериализированный экземпляр объекта (сериализированный с помощью механизма Java по умолчанию) должен десериализовать себя как экземпляр другого класса, поскольку информацией о классе должна быть свойственная часть сериализированных данных.
Таким образом, это - любой проблема Вашего (de-), платформа сериализации или платформа принимают любой "подобный дате" объект на "передающем конце" (Календарь, java.util. Дата и т.д. - таким образом java.sql. Дата также, поскольку это расширяет java.util. Дата), "сериализирует" его к Строке в некотором общем формате даты (таким образом, информация о типе потеряна), и "десериализовывает" его назад к Календарному объекту на принимающем конце.
Таким образом, я думаю самый простой способ добраться до java.sql. Дата должна сделать a
java.sql.Date date = new java.sql.Date(calendar.getTimeInMillis);
где Вам нужен java.sql. Дата, но возвращает GregorianCalendar от "десериализации".