Разделы презентаций


Язык программирования JAVA

Содержание

СодержаниеПоток.Байтовые и символьные потоки.Базовые классы.Блочное копирование.Класс File.Ввод/вывод на консоль.Чтение строк с консоли.Сериализация.Байтовый в символьный и наоборот.Перекодирование файла.

Слайды и текст этой презентации

Слайд 1Язык программирования JAVA
Потоки ввода/вывода

Язык программирования JAVAПотоки ввода/вывода

Слайд 2Содержание
Поток.
Байтовые и символьные потоки.
Базовые классы.
Блочное копирование.
Класс File.
Ввод/вывод на консоль.
Чтение строк

с консоли.
Сериализация.
Байтовый в символьный и наоборот.
Перекодирование файла.






СодержаниеПоток.Байтовые и символьные потоки.Базовые классы.Блочное копирование.Класс File.Ввод/вывод на консоль.Чтение строк с консоли.Сериализация.Байтовый в символьный и наоборот.Перекодирование файла.

Слайд 3Поток
Поток является абстракцией, которая или производит, или потребляет информацию.
Все

потоки ведут себя одинаковым образом, хотя фактические физические устройства, с

которыми они связаны, могут сильно различаться.
Благодаря потокам ваша программа выполняет ввод/вывод, не понимая различий между клавиатурой и сетью.
Поток скрывает детали низкоуровневых процессов ввода/вывода.
В Java система ввода-вывода представлена в java.io.*





ПотокПоток является абстракцией, которая или производит, или потребляет информацию. Все потоки ведут себя одинаковым образом, хотя фактические

Слайд 4Байтовые и символьные потоки
Потоки бывают для чтения(ввод) и записи(вывод).
Два типа

потоков – байтовый и символьный.





Чтение с клавиатуры, чтение из файла

и т.д.

Вывод на консоль, запись в файл и т.д.

Байтовые и символьные потокиПотоки бывают для чтения(ввод) и записи(вывод).Два типа потоков – байтовый и символьный. Чтение с

Слайд 5Базовые классы

Базовые классы

Слайд 6Байтовые потоки

Байтовые потоки

Слайд 7Классы - байтовые потоки

Классы - байтовые потоки

Слайд 8Символьные потоки

Символьные потоки

Слайд 9Классы - символьные потоки

Классы - символьные потоки

Слайд 10Класс ByteArrayInputStream
Поток, считывающий (записывающий) данные из массива байт.

Класс ByteArrayInputStreamПоток, считывающий (записывающий) данные из массива байт.

Слайд 11Класс ByteArrayOutputStream
Применяется для записи в массив.

Класс ByteArrayOutputStreamПрименяется для записи в массив.

Слайд 12Блочное копирование
Процедура копирования
void copy(InputStream is, OutputStream os) throws IOException {

byte[] b = new byte[1024];
int c =

0;
while ((c = is.read(b)) >= 0) {
os.write(b, 0, c);
}
}
Блочное копированиеПроцедура копированияvoid copy(InputStream is, OutputStream os) throws IOException {  byte[] b = new byte[1024];

Слайд 13Класс File
Позволяет осуществлять манипуляции с файлами и директориями
Создание дескриптора по

имени:
File(pathname) – абсолютный или относительный путь
Создание дескриптора по имени и

директории:
File(File dir, name) File(String dir, name)
Получение информации
getName() – получить имя
getPath() – получить имя и путь
getAbsolutePath() – получить абсолютный путь
getAbsoluteFile() – получить абсолютный дескриптор
Определение родителя
String getParent() – как строки
File getParetnFile() – как дескриптора
Платформозависимые разделители
separator / separtorChar – разделитель директорий
pathSeparator / pathSeparatorChar – разделитель в файлов и директорий в путях
Класс FileПозволяет осуществлять манипуляции с файлами и директориямиСоздание дескриптора по имени:	File(pathname) – абсолютный или относительный путьСоздание дескриптора

Слайд 14Операции с файлами
Проверка типа
isFile() – является ли файлом
isDirectory() – является

ли директорией
isHidden() – является ли скрытым
Получение информации о файле
exist() –

проверка существования
length() – длина файла
lastModifier() – время последней модификации
Создание
mkdir() – создать одну директорию
mkdirs() – создать все директории
createNewFile() – создать пустой файл
Удаление
delete() – удалить немедленно
deleteOnExit() – удалить после завершения
Переименование / перенос
renameTo(file) – переименовать / перенисти в заданное место
Операции с файламиПроверка типа	isFile() – является ли файлом	isDirectory() – является ли директорией	isHidden() – является ли скрытымПолучение информации

Слайд 15Листинг директории
Листинг всех файлов
String[] list() – получить имена файлов
File[] listFiles()

– получить дескрипторы файлов
Листинг по критерию
String[] list(FileNameFilter) – получить имена

файлов
File[] listFiles(FileFilter) – получить дескрипторы файлов
Листинг директорииЛистинг всех файлов	String[] list() – получить имена файлов	File[] listFiles() – получить дескрипторы файловЛистинг по критерию	String[] list(FileNameFilter)

Слайд 16Класс FileInputStream
Поток для чтения из файла по байтам.







try (FileInputStream fin

= new FileInputStream("/etc/hosts")) { int i = -1;

while ((i = fin.read()) != -1) { System.out.print((char) i); } } catch (FileNotFoundException ex) { System.out.println(ex.getMessage()); } catch (IOException ex) { System.out.println(ex.getMessage()); } catch (Exception ex) { System.out.println(ex.getMessage()); }
Класс FileInputStreamПоток для чтения из файла по байтам.try (FileInputStream fin = new FileInputStream(

Слайд 17Класс FileOutputStream
Поток для записи в файл по байтам.

String text =

"Hello world!"; // строка для записи try (FileOutputStream fos = new

FileOutputStream("notes.txt")) { // перевод строки в байты byte[] buffer = text.getBytes(); fos.write(buffer, 0, buffer.length);
} catch (FileNotFoundException ex) { System.out.println(ex.getMessage()); } catch (IOException ex) { System.out.println(ex.getMessage()); }
Класс FileOutputStreamПоток для записи в файл по байтам.String text =

Слайд 18Классы BufferedInputStream и BufferedOutputStream
Чтение и запись данных происходит из буфера.
Ускоряет

процесс в несколько раз.
Запись в устройство вывода произойдет, когда буфер

заполнится.
метод flush() или close() - сброс и запись данных







try(BufferedInputStream bis = new BufferedInputStream( new FileInputStream(new File("/etc/hosts")))) { int c; while ((c = bis.read()) != -1) { System.out.print((char) c); } } catch (Exception e) { System.out.println(e.getMessage()); }

Классы BufferedInputStream и BufferedOutputStreamЧтение и запись данных происходит из буфера.Ускоряет процесс в несколько раз.Запись в устройство вывода

Слайд 19Классы FileReader и FileWriter
try (Reader reader = new FileReader("notes.txt")){

try (Writer writer = new FileWriter("output.txt")) {

int c = 0; while ((c = reader.read()) >= 0) { writer.write(Character.toUpperCase((char)c)); } } } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } catch (IOException e) { e.printStackTrace(); }


Слайд 20Байтовый поток в символьный
При чтении возможно преобразование байтового потока в

символьный, с указанием кодировки

Класс InputStreamReader
InputStreamReader(InputStream, encoding)

Байтовый поток в символьныйПри чтении возможно преобразование байтового потока в символьный, с указанием кодировкиКласс InputStreamReaderInputStreamReader(InputStream, encoding)

Слайд 21Ввод/вывод на консоль
PrintWriter pw = new PrintWriter(System.out, true);
pw.println("Это строка:");
int i

= -7;
pw.println(i);
double d = 4.5e-7;
pw.println(d);
char ch

= 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Введите символы, 'q' - для завершения.");
do {
try {
ch = (char) br.read();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print(ch);
} while(ch != 'q');

Слайд 22Чтение строк с консоли
BufferedReader br =

new BufferedReader(new InputStreamReader(System.in));
List list = new

ArrayList<>();
System.out.println("Введите строки текста.");
System.out.println("Введите 'stop' для завершения.");
String s = null;
while(true){
try {
s = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if(s.equals("stop")) break;
list.add(s);
}
System.out.println("Вот ваши строки:");
for (String str :list) {
System.out.println(str);
}
Чтение строк с консоли    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));    List

Слайд 23Символьный поток в байтовый
При записи возможно преобразование символьного потока в

байтовый, с указанием кодировки

Класс OutputStreamWriter
OutputStreamWriter(OutputStream, encoding)

Символьный поток в байтовыйПри записи возможно преобразование символьного потока в байтовый, с указанием кодировкиКласс OutputStreamWriterOutputStreamWriter(OutputStream, encoding)

Слайд 24Пример: перекодирование файла
try (Reader reader = new InputStreamReader(

new FileInputStream("notes.txt"), "Cp1251"); Writer writer =

new OutputStreamWriter( new FileOutputStream("output.txt"), "Cp866") ) { int c = 0; while ((c = reader.read()) >= 0) writer.write(c); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

Слайд 25Сериализация
Сериализация – процесс преобразования объекта в последовательность байт.
Сериализованный объект легко

передать по сети, сохранить в файл.
Чтобы объект мог быть сериализован,

он должен реализовывать интерфейс java.io.Serializable.
java.io.Serializable — маркер, нет ни одного метода.
Классы ObjectInputStream и ObjectOutputStream производят сериализацию и десериализацию объектов.
Свойства класса, помеченные модификатором transient, не сериализуются.








СериализацияСериализация – процесс преобразования объекта в последовательность байт.Сериализованный объект легко передать по сети, сохранить в файл.Чтобы объект

Слайд 26Пример сериализации
class Person implements Serializable { public String name =

null; public int age = 0; }
public static final String PERSON_file =

"person.bin";

try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(PERSON_file))) { Person person = new Person(); person.name = "Jakob Jenkov"; person.age = 40; objectOutputStream.writeObject(person); objectOutputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

Пример сериализацииclass Person implements Serializable {  	public String name = null; 	public int age = 0;

Слайд 27Пример десериализации
try (ObjectInputStream objectInputStream =
new ObjectInputStream(new FileInputStream("person.bin"))){

Person personRead = (Person) objectInputStream.readObject(); System.out.println(personRead.name);

System.out.println(personRead.age); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); }

Пример десериализации	try (ObjectInputStream objectInputStream = 	new ObjectInputStream(new FileInputStream(

Слайд 28Вопросы?

Вопросы?

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика