JavaRush /Java blogi /Random-UZ /BufferedReader va BufferedWriter

BufferedReader va BufferedWriter

Guruhda nashr etilgan
Java BufferedReader klassi belgilar, massivlar va satrlarni samarali o'qishni ta'minlash uchun o'qilgan belgilarni buferlash orqali belgilar kiritish oqimidan matnni o'qiydi. Konstruktorda ikkinchi parametr sifatida bufer hajmini belgilashingiz mumkin.
BufferedReader va BufferedWriter - 1
Dizaynerlar:
BufferedReader(Reader in) // Creates a character input buffer stream that uses the default buffer size.
BufferedReader(Reader in, int sz) // Creates a character input buffer stream that uses the specified size.
Usullari:
close() // close the stream
mark(int readAheadLimit) // mark the position in the stream
markSupported() // does it support thread tagging
int read() // read buffer
int read(char[] cbuf, int off, int len) // read buffer
String readLine() // next line
boolean ready() // can the thread read
reset() // reset stream
skip(long n) // skip characters
BufferedReader va BufferedWriter sinflaridan foydalanishga misol: Faylni o'qish:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderExample {

	public static void main(String[] args) {
		String inputFileName = "file.txt";

		try (BufferedReader reader = new BufferedReader(new FileReader(inputFileName))) {
			String line;
			while ((line = reader.readLine()) != null) {
				System.out.println(line + "\n");
			}
		}
                catch (IOException e) {
			e.printStackTrace();
		}
	}

}
Java BufferedWriter klassi belgilar, massivlar va satrlarni samarali yozishni ta'minlash uchun yozma belgilarni buferlash orqali belgilar chiqish oqimiga matn yozadi. Konstruktorda ikkinchi parametr sifatida bufer hajmini belgilashingiz mumkin. Dizaynerlar:
BufferedWriter(Writer out) // Creates a character output buffer stream that uses the default buffer size.
BufferedWriter(Writer out, int sz) // Creates a character output buffer stream that uses the specified size.
Usullari:
close() // close the stream
flush() // pass data from buffer to Writer
newLine() // wrap to new line
write(char[] cbuf, int off, int len) // write to buffer
write(int c) // write to buffer
write(String s, int off, int len) // write to buffer
Java BufferedReader va BufferedWriter sinflaridan foydalanishga misol: Faylga yozish
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class FileWritterExample {

	public static void main(String[] args) {
		String outputFileName = "file.txt";
		String[] array = { "one", "two", "three", "four" };

		try (BufferedWriter writter = new BufferedWriter(new FileWriter(outputFileName))) {
			for (String value : array) {
				writter.write(value + "\n");
			}
		}
        catch (IOException e) {
			e.printStackTrace();
		}
	}

}
FileWriterzudlik bilan ma'lumotlarni diskka yozadi va unga har safar kirishadi, bufer o'ram sifatida ishlaydi va dasturni tezlashtiradi. Bufer ma'lumotlarni o'ziga, keyin esa katta hajmdagi fayllarni diskka yozadi. Biz konsoldan ma'lumotlarni o'qiymiz va uni faylga yozamiz:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class ConsoleReaderExample {

	public static void main(String[] args) {
		String outputFileName = "file.txt";

		try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
			try (BufferedWriter writter = new BufferedWriter(new FileWriter(outputFileName))) {
				String line;
				while (!(line = reader.readLine()).equals("exit")) { // Break the loop when writing the line exit
					writter.write(line);
				}
			}
		}
         catch (IOException e) {
			e.printStackTrace();
		}
	}

}
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION