Я работаю над несколькими уроками по Java, и инструктор начал знакомить вас с работой ввода-вывода в Java. У меня просто есть пара вопросов, которые мог бы прояснить опытный Java-программист.
Приведенный ниже фрагмент кода представляет собой программу, которая создает текстовый файл (блокнот) в том же каталоге файлов, в котором я пишу свой код. После этого он просто печатает основные строки текста в этот файл.
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. Внутри его конструктора мы вызываем имя файла, который мы создали, как строку. Это запутанная часть. Я не совсем понимаю, что делают PrintWriter и FileWriter. Похоже, FileWriter создает наш файл, а PrintWriter предоставляет нам метод println() для печати двух чисел в файле. Проведя исследование, я обнаружил, что вы можете достичь одной и той же цели как с FileWriter, так и с PrintWriter. Какова цель обучения обработке файлов таким образом и что именно делают два класса? Спасибо за помощь в разъяснении этого для меня!
FileWriter fw = new FileWriter(fileName); PrintWriter outFile = new PrintWriter(fw);
. Поэтому он сначала создает FileWriter, который записывает символы в файл, а затем создает PrintWriter, который печатает свои значения в FileWriter. - person JB Nizet   schedule 15.06.2015