С. Сухов - Основы программирования на Java
- Название:Основы программирования на Java
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
С. Сухов - Основы программирования на Java краткое содержание
Учебное пособие разработано в соответствии с программой курса «Информатика» и предназначено для студентов радиотехнического факультета, но может использоваться и студентами других специальностей. Рассматриваются вопросы программирования на языке Java.
Направлено на закрепление знаний по курсу «Информатика», читаемого по специальности 210406 «Сети связи и системы коммутации». Учебное пособие подготовлено на кафедре «САПР».
Основы программирования на Java - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Последняя модификация файла:812465204000
Размер файла:695 Bytes
Существует также несколько сервисных методов, использование которых ограничено обычными файлами (их нельзя применять к каталогам). Метод renameTo(File dest) переименовывает файл (нельзя переместить файл в другой каталог). Метод delete уничтожает дисковый файл. Этот метод может удалять только обычные файлы, каталог, даже пустой, с его помощью удалить не удаётся.
Каталоги — это объекты класса File, в которых содержится список других файлов и каталогов. Если File ссылается на каталог, его метод isDirectoiy возвращает значение true. Вэтом случае вы можете вызвать метод list и извлечь содержащиеся в объекте имена файлов и каталогов. Вочередном примере показано, как с помощью метода list можно просмотреть содержимое каталога.
import j ava.io.File;
class DirList {
public static void main(String args[]) {
String dirname = "/java"; // имя каталога
File fl = new File(dirname);
if (fLisDirectory()) {
// является ли fl каталогом
System.out.println("Directory of' + dirname);
String s[]=fl.list();
for (int i=0; i < s.length; i++) {
File f = new File(dirname + "/" + s[i]);
if(fisDiiectory())
{
// является ли f каталогом
System.out.println(s[i] +” is a directory"):
}
else {
System.out.println(s[i] + " is a file");
}
}
}
else {
System.out.println(dirname + " is not a directory");
}
}
}
В процессе работы эта программа вывела содержимое каталога /java моего персонального компьютера в следующем виде:
С:\> java DirList
Directory of /java
bin is a directory COPYRIGHT is a file
README is a file
InputStream — абстрактный класс, задающий используемую в Java модель входных потоков. Все методы этого класса при возникновении ошибки возбуждают исключение IOException. Ниже приведен краткий обзор методов класса InputStream.
1. read() - возвращает представление очередного доступного символа во входном потоке в виде целого;
2. read(byte b[]) - пытается прочесть максимум b.length байтов из входного потока в массив b. Возвращает количество байтов, в действительности прочитанных из потока;
3. read(byte b[], int off, int len) - пытается прочесть максимум len байтов, расположив их в массиве Ь, начиная с элемента off. Возвращает количество реально прочитанных байтов;
4. skip(long n) - пытается пропустить во входном потоке n байтов. Возвращает количество пропущенных байтов;
5. available() - возвращает количество байтов, доступных для чтения в настоящий момент;
6. close() - закрывает источник ввода. Последующие попытки чтения из этого потока приводят к возбуждению IOException. 11.4. Класс OutputStream
Как и InputStream, OutputStream — абстрактный класс. Он задает модель выходных потоков Java. Все методы этого класса имеют тип void и возбуждают исключение IOException в случае ошибки. Ниже приведен список методов этого класса:
1. write(int b) записывает один байт в выходной поток. Обратите внимание, что аргумент этого метода имеет тип int, что позволяет вызывать write, передавая ему выражение, при этом не нужно выполнять приведение его типа к byte;
2. write(byte b[]) записывает в выходной поток весь указанный массив байтов;
3. write(byte b[], int off, int len) записывает в поток часть массива — len байтов, начиная с элемента b[off];
4. flush() очищает любые выходные буферы, завершая операцию вывода;
5. close() закрывает выходной поток. Последующие попытки записи в этот поток будут возбуждать IOException.
Класс FilelnputStream используется для ввода данных из файлов. В приведенном ниже примере создается два объекта этого класса, использующие один и тот же дисковый файл.
InputStream f0 = new FileInputStream(“/autoexec.bat");
File f = new File("/autoexec.bat"):
InputStream f1 = new FilelnputStream(f);
Когда создается объект класса FilelnputStream, он одновременно с этим открывается для чтения. FilelnputStream замещает шесть методов абстрактного класса InputStream. В приведенном ниже примере показано, как можно читать одиночные байты, массив байтов и поддиапазон массива байтов. В этом примере также показано, как методом available можно узнать, сколько еще осталось непрочитанных байтов и как с помощью метода skip можно пропустить те байты, которые вы не хотите читать,
import java.io.*;
import java.util.*;
class FilelnputStreamS {
public static void main(String args[]) throws Exception {
int size;
InputStream f1 = new FileInputStream(“/wwwroot/default.htm");
size = f1.available();
System.out.println("Total Available Bytes: " + size);
System.out.println("First 1/4 of the file: read()");
for (int i=0; i < size/4; i++) {
System.out.print((char) f1.read());
}
System.out.println("Total Still Available: " + f1.available());
System.out.println("Reading the next 1/8: read(b[])");
byte b[] = new byte[size/8];
if(fl.read(b) !=b.length) {
System.err.println("Something bad happened");
}
String tmpstr = new String(b, 0,0, b.length);
System.out.println(tmpstr);
System.out.println("Still Available: " + f1.available());
System.out.println("Skipping another 1/4: skip()");
f1.skip(size/4);
System.out.println( "Still Available: " + f1.available());
System.out.println("Reading 1/16 into the end of array");
if (f1.read(b, b.length-size/16, size/16) != size/16) {
System.err.println("Something bad happened");
}
System.out.println("Still Available: " + f1.available());
f1.close();
}
}
У класса FileOutputStream — два таких же конструктора, что и у FileInputStream Однако создавать объекты этого класса можно независимо от того, существует файл или нет. При создании нового объекта класс FileOutputStream перед тем, как открыть файл для вывода, сначала создает его. В очередном нашем примере символы, введенные с клавиатуры, считываются из потока System.in - по одному символу за вызов до тех пор, пока не заполнится 12-байтовый буфер. После этого создаются три файла. В первый из них, filel.txt, записываются символы из буфера, но не все, а через один — нулевой, второй и так далее. Во второй, file2.txt, записывается весь ввод, попавший в буфер. И, наконец, в третий файл записывается половина буфера, расположенная в середине, а первая и последняя четверти буфера не выводятся.
import java.io.*;
class FileOutputStreamS {
public static byte getlnput()[] throws Exception {
byte buffer[] = new byte[12];
for (int i=0; i
buffer[i] = (byte) System.in.read();
}
return buffer;
}
public static void main(String args[]) throws Exception {
byte buf[] = getlnput();
OutputStream f() = new FileOutputStream("filel.txt");
OutputStream f1 = new FileOutputStream("file2.txt");
OutputStream f2 = new FileOutputStream("file3.txt");
for (int i=0; i < 12; i += 2) {
f0.write(buf[i]);
}
f0.close();
f1.write(buf);
f1.close();
f2.write(buf, 12/4,12/2);
f2.close();
}
}
12. ПРОГРАММИРОВНИЕ ГРАФИЧЕСКИХ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ
12.1. Компоненты
Component — это абстрактный класс, который инкапсулирует все атрибуты визуального интерфейса - обработка ввода с клавиатуры, управление фокусом, взаимодействие с мышью, уведомление о входе/выходе из окна, изменения размеров и положения окон, прорисовка своего собственного графического представления, сохранение текущего текстового шрифта, цветов фона и переднего плана (более 10 методов). Перейдем к некоторым конкретным подклассам класса Component.
Читать дальшеИнтервал:
Закладка: