Java in pictures. Part 3.

Презентация:



Advertisements
Похожие презентации
1 Ввод–вывод в Java Обобщенное понятие источника ввода относится к различным способам получения информации: к чтению дискового файла, символов с клавиатуры,
Advertisements

Saint Petersburg, 2012 Java Lecture #04 Part I - IO.
Interace & abstract Java Advanced (not so). 2 Interface interface Instrument { int VALUE = 5; // public, static и final! void play(Note n); // public.
Ввод-вывод Java Advanced. 2Georgiy KorneevJava Advanced / Ввод-вывод Содержание 1.Потоки ввода-вывода 2.Файловый ввод-вывод и конвертация потоков 3.Фильтрующие.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Ввод-вывод Java Advanced. 2Georgiy KorneevJava Advanced / Ввод-вывод Содержание 1.Потоки ввода-вывода 2.Файловый ввод-вывод и конвертация потоков 3.Фильтрующие.
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
САОД кафедра ОСУ 1 Основные абстрактные типы данных Схема процесса создания программ для решения прикладных задач ВУ.
Язык программирования Java Андрей Дмитриев ©2009.
Изучение динамического определения типов. Класс Class. Динамическая загрузка и инстанцирование классов. В Java вся информация о классе хранится в специальном.
Сокеты TCP/IP Лекция Понятие сокета Если требуется получить доступ к сетевым операциям низкого уровня (класс URL обеспечивает выполнение только.
Символы и строки 1. Содержание 8.1Введение 8.2Основы Строк и Символов 8.3Библиотека работы со строками 8.4Преобразование строк 8.5Стандартная библиотека.
Click to edit Master title style IDK1011 Основы программирования Диалоговые окна Чтение файлов и директорий.
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
Test 6 Вопрос 1. Как можно уничтожить объект в Java? a)присвоить null всем ссылкам на объект b)вызвать Runtime.getRuntime().gc() c)вызвать метод finalize()
Часть 1. Основы ООП Исключения.. Структурный подход Неисправимые ошибки – вывести информацию и умереть. Исправимые ошибки – уведомить вызывающую.
Система ввода/вывода Потоки данных (stream) Сериализация объектов.
Program wr_text; var f: text; st: integer; i:integer; begin assign(f,'l1.TXT'); rewrite(f); write('вводите поочередно числа, после ввода очередного числа.
Java in pictures. Типы данных Примитивы: boolean, byte (8) char, short,(16) int, float,(32) long,double(64) Ссылочные типы Классы Интерфейсы Массивы enum.
Обработка исключительных ситуаций, работа с файлами Исключительные ситуации Классы File, InputStream, RandomAccessFile, FileReader, BufferedReader, BufferedWriter,
Транксрипт:

1 Lection3. Author: Dudnik O.A. Пакет java.io.* Java in pictures

2

3

4

5 FileReader Reader reader = new FileReader("c:\\data\\input-text.txt"); int data = reader.read(); while(data != -1) { //do something with data... doSomethingWithData(data); data = reader.read(); } reader.close();

6

7

8

9

10 FileWriter Writer writer = new FileWriter("c:\\data\\output.txt"); while(moreData) { String data = getMoreData(); writer.write(data); } writer.close();

11 package java.io;

12

13

14 InputStream read() возвращает представление очередного доступного символа во входном потоке в виде целого. read(byte b[]) пытается прочесть максимум b.length байтов из входного потока в массив b. Возвращает количество байтов, в действительности прочитанных из потока. read(byte b[], int off, int len) пытается прочесть максимум len байтов, расположив их в массиве b, начиная с элемента off. Возвращает количество реально прочитанных байтов. skip(long n) пытается пропустить во входном потоке n байтов. Возвращает количество пропущенных байтов. available() возвращает количество байтов, доступных для чтения в настоящий момент. close() закрывает источник ввода. Последующие попытки чтения из этого потока приводят к возбуждению IOException. mark(int readlimit) ставит метку в текущей позиции входного потока, которую можно будет использовать до тех пор, пока из потока не будет прочитано readlimit байтов. reset() возвращает указатель потока на установленную ранее метку. markSupported() возвращает true, если данный поток поддерживает операции mark/reset

15 OutputStream write(int b) записывает один байт в выходной поток. Обратите внимание аргумент этого метода имеет тип int, что позволяет вызывать write, передавая ему выражение, при этом не нужно выполнять приведение его типа к byte. write(byte b[]) записывает в выходной поток весь указанный массив байтов. write(byte b[], int off, int len) записывает в поток часть массива len байтов, начиная с элемента b[off]. flush() очищает любые выходные буферы, завершая операцию вывода. close() закрывает выходной поток. Последующие попытки записи в этот поток будут возбуждать IOException

16

17 Class File Constructor Description File(path) File(dirpath,fname) File(dir, fname)

18

19 Check if File Exists File file = new File("c:\\data\\input-file.txt"); boolean fileExists = file.exists(); File Length File file = new File("c:\\data\\input-file.txt"); long length = file.length(); Rename or Move File File file = new File("c:\\data\\input-file.txt"); boolean success = file.renameTo(new File("c:\\data\\new-file.txt"));

20 Delete File File file = new File("c:\\data\\input- file.txt"); boolean success = file.delete(); Check if Path is File or Directory File file = new File("c:\\data"); boolean isDirectory =file.isDirectory(); Read List of Files in Directory File file = new File("c:\\data"); String[] fileNames = file.list(); File[] files = file.listFiles();

21 import java.io.File; class FileTest { static void p(String s) { System.out.println(s); } public static void main(String args[]) { File f1 = new File("/java/COPYRIGHT"); p("File Name:" + f1.getName()); p("Path:" + f1.getPath()); p("Abs Path:" + f1.getAbsolutePath()); p("Parent:" + f1.getParent()); p(f1.exists() ? "exists" : "does not exist"); p(f1.canWrite() ? "is writeable" : "is not writeable"); p(f1.canRead() ? "is readable" : "is not readable"); p("is " + (f1.isDirectory() ? " " : "not") + " a directory"); p(f1.isFile() ? "is normal file" : "might be a named pipe"); p(f1.isAbsolute() ? "is absolute" : "is not absolute"); p("File last modified:" + f1. lastModified()); p("File size:" + f1.length() + " Bytes"); }

22 При запуске этой программы вы получите что-то наподобие вроде: File Name:COPYRIGHT (имя файла) Path:/java/COPYRIGHT (путь) Abs Path:/Java/COPYRIGHT (путь от корневого каталога) Parent:/java (родительский каталог) exists (файл существует) is writeable (разрешена запись) is readable (разрешено чтение) is not a directory (не каталог) is normal file (обычный файл) is absolute File last modified: (последняя модификация файла) File size:695 Bytes (размер файла)

23 java.io.* File FilenameFilter InputStreamOutputStream FilelnputStream FileOutputStream PrintStream Console Reader Writer

24 FileOutputStream import java.io.*; class FileOutputStreamS { public static byte getlnput()[] throws Exception { byte buffer[] = new byte[12]; for (int i=0; i

25 Console import java.io.Console; import java.util.Arrays; import java.io.IOException; public class Password { public static void main (String args[]) throws IOException { Console c = System.console(); if (c == null) { System.err.println("No console."); System.exit(1); } String login = c.readLine("Enter your login: "); char [] oldPassword = c.readPassword("Enter your old password: "); if (verify(login, oldPassword)) { boolean noMatch; do { char [] newPassword1 = c.readPassword("Enter your new password: "); char [] newPassword2 = c.readPassword("Enter new password again: "); noMatch = ! Arrays.equals(newPassword1, newPassword2); if (noMatch) { c.format("Passwords don't match. Try again.%n"); } else { change(login, newPassword1); c.format("Password for %s changed.%n", login); } Arrays.fill(newPassword1, ' '); Arrays.fill(newPassword2, ' '); } while (noMatch); } Arrays.fill(oldPassword, ' '); } // Dummy change method. static boolean verify(String login, char[] password) { // This method always returns // true in this example. // Modify this method to verify // password according to your rules. return true; } // Dummy change method. static void change(String login, char[] password) { // Modify this method to change // password according to your rules. }