Константы
В языке Java можно записывать константы разных типов в разных видах. Перечислим их.
Целые
Целые константы можно записывать в трех системах счисления:
Замечание
Число, начинающееся с нуля, записано в восьмеричной форме, а не в десятичной.
Целые константы хранятся в формате типа int (см. ниже).
В конце целой константы можно записать букву прописную L или строчную l , тогда константа будет сохраняться в длинном формате типа long (см. ниже): +25L, -0371, OxffL, OXDFDF1 .
Совет
Не используйте при записи длинных целых констант строчную латинскую букву l , ее легко спутать с единицей. Сериализация
При работе с файлами
(так же, как и с другими потоками ввода и вывода) можно использовать специальную
технологию сохранения данных, называемую сериализацией. Главное отличие сериализации
заключается в том, что сохраняется в файл не текст, а объект какого-либо класса,
например, заполненный данными список типа Choice, массив и прочие. Сериализация
заключается в преобразовании объекта в простую последовательность байтов таким
образом, чтобы впоследствии он мог быть корректно восстановлен.
При сериализации
должны быть учтены следующие моменты. Объект, подлежащий сериализации, должен
раскрывать интерфейс Serializable. Этот интерфейс уже раскрыт в базовом классе
Object. Поэтому объекты всех классов, которые наследуют от класса Object, могут
быть сериализованы. Это значит, что для сериализации этих объектов могут применяться
методы writeObject и readObject классов ObjectOutputStream и ObjectInputStream.
При создании объектов классов ObjectOutputStream и ObjectInputStream конструкторам
передается в качестве параметра объект потока, связанного с файлом или сетевым
приложением. Метод writeObject класса ObjectOutputStream принимает в качестве
параметра сериализуемый объект. Метод readObject класса ObjectInputStream возвращает
значение типа Object, после чего можно восстановить структуру первоначального
объекта посредством преобразования к необходимому типу данных.
Пусть, например,
в приложении формируется список выбора
Choice sel;
При необходимости можно список сериализовать в файл.
try
{
ObjectOutputStream
fileWrite=new ObjectOutputStream
(new FileOutputStream("myfile"));
fileWrite.writeObject(sel);
System.out.println("Ввод завершен\n");
fileWrite.close();
}
catch(IOException e1)
{
System.out.println("Ошибка
ввода или вывода\n");
}
Соответственно, при необходимости можно
восстановить состояние списка из файла.
try
{
ObjectInputStream fileRead=
new ObjectInputStream
(new FileInputStream("myfile"));
// удаляем
старые данные из списка
sel.removeAll();
// восстанавливаем содержимое
из файла
// создаем временный объект для чтения из файла
Choice c=new
Choice();
c=(Choice)fileRead.readObject();
// помещаем в элемент управления
список данные из
// списка с
for(int i=0; i<c.countItems(); i++)
sel.addItem(c.getItem(i));
System.out.println("Данные заполнены\n");
}
catch (IOException e)
{
System.out.println("Ошибка ввода или
вывода\n");
}
catch(ClassNotFoundException e)
{
System.out.println
("Ошибка при преобразовании типа\n");
}
Математический анализ, лекции по физике Компьютерные сети |