Курс по java. Часть 2
Как в прошлой статье было сказано "В следующей статье буду рассказывать про то, как считывать текст с клавиатуры, файлов; расскажу подробнее о package и import."
Начнем с package. Пакет - это что-то по типу папки (ну как для новичков рассказываю). В пакеты помещаются классы, интерфейсы и т.п. Обычно создается один пакет, но если проект довольно большой, то для удобства можно классы раскидать по пакетам.
Import - аналог include, только include импортирует файл, а import - классы. В последующих статьях будет более детальное описание работы с import.
Ну со скучной частью покончили. Давайте почитаем о чтении с клавиатуры:
Я, зачастую, использую для этих целей класс Scanner.
Для чтения/записи в файлы я рекомендую классы BufferedReader BufferedWriter.
Ну и соответственно пример. Я открыл проект, созданный в прошлой части и изменил код на этот:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package hello;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
/**
*
* @author bewreks
*/
public class Hello {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner scan=new Scanner(System.in);
String newString=scan.nextLine();
try{
BufferedWriter bw=new BufferedWriter(new FileWriter(new File("D://test.txt")));
bw.write(newString);
bw.close();
newString="";
BufferedReader br=new BufferedReader(new FileReader(new File("D://test.txt")));
newString=br.readLine();
br.close();
}catch(IOException x){
System.out.println(x.getMessage());
}
System.out.println(newString);
}
}
А теперь разберем данный код.
Как видите после указания пакетов был вызван import.
Это все классы, из внешних пакетов, которые используются в этом примере.
Смотрим функцию main.
Она начинается с создания объекта Scanner.
Далее читается строка, введенная с клавиатуры и заносится в переменную newString.
Далее идет непонятный try, чуть ниже не менее понятный catch. Это обработчик ошибок, но о нем будет позже.
Вернемся на строку создания объекта BufferedWriter.
Тут много букв, но не надо пугаться. Все достаточно легко.
Параметром к BufferedWriter должен идти поток данных (FileWrtier). А к FileWriter параметром объект класса File. Ну а к File уже путь к самому файлу.
Далее в файл записывается свежесчитанная строка.
Ну и не забываем закрыть соединение с файлом.
В newString записываем пустую строку (чтоб показать, что в эту переменную считается строка из файла).
Ну и в самом конце известная вам функция вывода на экран.
В следующей статье расскажу подробнее о обработчиках ошибок и о создании потоков (Thread)
П.С. если где-то я неверно или непонятно объясняю добавьте коментарии.
URL:
https://visavi.net/articles/354