Я работаю над несколькими уроками на Java, и преподаватель начал представлять, как работает IO на Java. У меня просто есть пара вопросов, которые может прояснить опыт Java-программиста.Java - Работа с IO - Уточнение
Часть кода, приведенная ниже, представляет собой программу, которая создает текстовый файл (блокнот) в том же каталоге файлов. Я пишу свой код. После этого он просто печатает основные строки текста в этом файле.
import java.io.FileWriter; //Imports Filewriter class
import java.io.PrintWriter; //Imports PrintWriter class
import java.io.IOException; //Imports IOException
public class Chap17Part2
{
public static void main(String[] args) throws IOException
{
String fileName = "grades.txt"; //Creating name for file
PrintWriter outFile = new PrintWriter(new FileWriter(fileName)); //Question 1
outFile.println(85); //Prints to file
outFile.println(77); //Prints to file
outFile.close(); //Ends buffer, and flushes data to file.
}
}
Вопрос 1: Благодаря лишь краткими пояснениями инструктора, эта строка кода является немного запутанной для меня. Я знаю, что в этой строке мы создаем объект «outFile». После этого мы вызываем конструктор PrintWriter, и внутри его параметров мы вызываем конструктор для FileWriter. Внутри его конструктора мы вызываем имя файла, который мы создали как String. Это запутанная часть. Я не понимаю, что делают PrintWriter и FileWriter. Похоже, что FileWriter создает наш файл, а PrintWriter предоставляет нам метод println() для печати двух чисел в файле. После исследования я обнаружил, что вы можете в значительной степени достичь той же цели как с FileWriter, так и с PrintWriter. Какова цель обучения таким образом обработки файлов и что именно делают эти два класса? Спасибо за помощь в разъяснении этого для меня!
Вы можете рассмотреть ... прочитав javadoc классов. Они объясняют, для чего предназначены классы, и что они делают. –
Правда, это кажется достаточно простым, однако я уже посмотрел документацию. Документация по-прежнему немного нечеткая для чтения, но это определение из Java: ** PrintWriter **: печать форматированных представлений объектов в поток текстового вывода. Вопрос: Является ли текстовый поток FileWriter в этом примере? ** FileWriter **: класс удобства для записи файлов символов. FileWriter предназначен для записи потоков символов. Вопрос: Является ли FileWriter потоком, и, написав файл символов, означает ли это, что он просто создает файл или также передает его? –
Файловый писатель - это поток символов, который позволяет записывать символы в файл (как показывает его название). Он реализует Writer. PrintWriter печатает отформатированные представления объектов любому производителю. И FileWriter - это Writer. –