В този урок ще научим за Java FileWriter и неговите методи с помощта на примери.
В FileWriter
класа на java.io
пакета може да се използва за запис на данни (в знака) до файлове.
Разширява OutputStreamWriter
класа.
Преди да научите повече за FileWriter
, не забравяйте да знаете за Java File.
Създайте FileWriter
За да създадем записващ файл, първо трябва да импортираме Java.io.FileWriter
пакета. След като импортираме пакета, ето как можем да създадем файловия писател.
1. Използване на името на файла
FileWriter output = new FileWriter(String name);
Тук създадохме записващ файл, който ще бъде свързан с файла, посочен от името.
2. Използване на обект от файла
FileWriter input = new FileWriter(File fileObj);
Тук създадохме записващ файл, който ще бъде свързан с файла, посочен от обекта на файла.
В горния пример данните се съхраняват с помощта на някакво кодиране на символи по подразбиране.
От Java 11 обаче можем да посочим и типа кодиране на символи ( UTF8 или UTF16 ).
FileWriter input = new FileWriter(String file, Charset cs);
Тук използвахме Charset
класа, за да посочим кодирането на символите на файловия писател.
Методи на FileWriter
В FileWriter
клас осигурява приложения за различни методи представят в Writer
клас.
метод write ()
write()
- пише един писател на писателяwrite(char() array)
- записва символите от посочения масив в писателяwrite(String data)
- записва посочения низ в писателя
Пример: FileWriter за запис на данни във файл
import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
В горния пример създадохме файл за писане на име output. Изходният четец е свързан с файла output.txt .
FileWriter output = new FileWriter("output.txt");
За да запишем данни във файла, използвахме write()
метода.
Тук, когато стартираме програмата, файлът output.txt се пълни със следното съдържание.
This is a line of text inside the file.
метод getEncoding ()
В getEncoding()
метод може да се използва, за да получите типа кодиране, който се използва за запис на данни. Например,
import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Изход
Кодиране на знаци на изход1: Cp1252 Кодиране на знаци на изход2: UTF8
В горния пример създадохме 2 писател на файлове с имена output1 и output2.
- output1 не указва кодирането на символи. Следователно
getEncoding()
методът връща кодирането на символите по подразбиране. - output2 определя кодирането на символи, UTF8 . Следователно
getEncoding()
методът връща посоченото кодиране на символи.
Забележка : Използвахме Charset.forName()
метода, за да определим типа кодиране на символи. За да научите повече, посетете Java Charset (официална документация за Java).
метод close ()
За да затворим файла за запис, можем да използваме close()
метода. След като close()
методът бъде извикан, не можем да използваме писателя, за да запишем данните.
Други методи на FileWriter
Метод | Описание |
---|---|
flush() | принуждава да запише всички данни, присъстващи в записващото устройство, до съответната дестинация |
append() | вмъква посочения знак в текущия писател |
За да научите повече, посетете Java FileWriter (официална документация за Java).