Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
new DatalnputStream(new FilelnputStream("testdata")))
{
// Чтение двоичных данных из файла testdata.
i = dataln.readlnt();
System.out.println("Reading " + i) ;
d = dataln.readDouble();
System.out.println("Reading " + d);
b = dataln.readBoolean() ;
System.out.println("Reading " + b);
d = dataln.readDouble();
System.out.println("Reading " + d) ;
}
catch(IOException exc) {
System.out.println("Read error.");
}
}
}
Выполнение этой программы дает следующий результат:
Writing 10
Writing 1023.56
Writing true
Writing 90.28
Reading 10
Reading 1023.56
Reading true
Reading 90.28
Пример для опробования 10.1.
Утилита сравнения файлов
В этом проекте предстоит создать простую, но
очень полезную утилиту для сравнения содержимого файлов. В ходе выполнения этой сервисной программы сначала открываются два
сравниваемых файла, а затем данные читаются из них и сравниваются по соответствующему количеству байтов. Если на какой-то стадии операция сравнения дает отрицательный результат, это означает, что содержимое обоих файлов не одинаково. Если же конец
обоих файлов достигается одновременно, это означает, что они содержат одинаковые
данные.
Последовательность действий
Создайте файл CompFiles.java.
Введите в файл CompFiles.java приведенный ниже исходный код.
/*
Для того чтобы воспользоваться этой программой, укажите
имена сравниваемых файлов в командной строке, например:
java CompFile FIRST.TXT SECOND.TXT
Для компиляции этого кода требуется JDK 7
или более поздняя версия данного комплекта.
*/
import java.io.*;
class CompFiles {
public static void main(String args[])
{
int i=0, j=0;
// Прежде всего следует убедиться, что файлы были указаны,
if(args.length !=2 ) {
System.out.println("Usage: CompFiles fl f2");
return;
}
// сравнить файлы
try (FilelnputStream fl = new FilelnputStream(args[0]);
FilelnputStream f2 = new FilelnputStream(args[1]))
{
// проверить содержимое каждого файла
do {
i = f1.read();
j = f2.read();
if(i != j) break;
} while (i != -1 && j != -1) ;
if(i != j)
System.out.println("Files differ.");
else
System.out.println("Files are the same.");
} catch(IOException exc) {
System.out.println("I/O Error: " + exc);
}
}
}
Для опробования программы скопируйте сначала файл CompFiles. java во временный файл temp, а затем введите в командной строке следующее:java CompFiles CompFiles.java temp
Программа сообщит, что файлы одинаковы. Далее сравните файл CompFiles.java с рассмотренным ранее файлом CopyFile. j ava, введя в командной строке следующее:java CompFiles CompFiles.java CopyFile.java
Эти файлы содержат разные данные, о чем и сообщит программа CompFiles.
Попробуйте самостоятельно внедрить в программу CompFiles ряд дополнительных возможностей. В частности, введите в нее возможность выполнять сравнение без учета регистра символов. Программу CompFiles можно также доработать таким образом, чтобы она выводила место, где обнаружено первое отличие сравниваемых файлов.
Файлы с произвольным доступом