BufferedReader. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable. Altsınıfları: LineNumberReader. Bildirimi: public class BufferedReader

Benzer belgeler
CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken:

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur.

ByteArrayOutputStream

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String>

InputStream Sınıfı. Class InputStream. java.io. java.lang.object java.io.inputstream. Kılgıladığı Arayüzleri: Closeable, AutoCloseable

// hataları işaret eden referans

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1

JAVA DA İSTİSNALAR VE DOSYA İŞLEMLERİ. Yrd. Doç.Dr. İlhan AYDIN

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 11

BİL132 Bilgisayar Programlama II

BİL-141 Bilgisayar Programlama I (Java)

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BM-209 Nesne Yönelimli Programlama

Class PriorityQueue. Class PriorityQueue<E> java.lang.object java.util.abstractcollection<e> java.util.abstractqueue<e> java.util.

Class HashMap. Class HashMap java.lang.object java.util.abstractmap java.util.hashmap. Kılgıladığı Arayüzler: Cloneable, Map, Serializable

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

Java da İşleçler, Ders #3 (4 Kasım 2009)

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

İlgili Konular: Object.equals(java.lang.Object), Object.hashCode(), rehash(), Collection, Map, HashMap, TreeMap, Serialized Form

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

java.io Paketi Bölüm Java'da Giri³/Çk³ ³lemleri (I/O) Ksa Tarihçe

JAVA. public class Welcome { // class isimleri her zaman büyük harfle başlar. public static void main(string[] args){ System.out.print("Welcome"); } }


İÇİNDEKİLER VII İÇİNDEKİLER

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

1 - Button Kontrolu Nasıl Yapılır?

CSSigner, Cybersoft firması tarafından geliştirilmiş açık kaynak kodlu e-imza yazılım kütüphanesidir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler:

Kılgıladığı arayüzler: Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form

Java: printf() Metodu İle Çıktıyı Biçemleme

Progress Barlı, FTP Dosya Upload Appleti

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

D İ Z İ L E R A R R A Y S

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Bir c sınıfının doğal sıralaması ile tutarlı olması (be consistent with equals) demek, c sınıfı içindeki her e1 ve e2 nesnesi için

Java String İşlemleri

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Ders - 7 while döngüsü

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

MAT213 Bilgisayar Programlama I

M.ilkucar MAKU MYO 1

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 6. UYGULAMA

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

Karşılaştırma İşlemleri ve Koşullu İfadeler

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Eln 1001 Bilgisayar Programlama I

Class HashSet. Metotlar. Class HashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset

BİL-141 Bilgisayar Programlama I (Java)

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 5. UYGULAMA ERKEKLER İÇİN (BOY-108) BAYANLAR İÇİN (BOY-112)

Sınıfların Tekrardan Kullanılması. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 5 1

HSancak Nesne Tabanlı Programlama I Ders Notları

Temel Veri Türü İşlemleri

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır.

Dizi ( Array ) ve Dizgi ( String )

Burada, Input ve Output stream ler ile ilgili sınıfların hiyerarşisi gösterilmektedir.

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

JAVADA DİZİ İŞLEMLERİ

C# Çalışma Örnekleri

Test Güdümlü Yazılımın Tasarım Üzerindeki Etkileri KurumsalJava.com

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Java Class Yapısında Finalize Metotunun Kullanımı

7.1- C#.net Giriş Çıkış İşlemleri ve Visual Studio. M.İLKUÇAR - 1

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

EMT2226 Nesne Yönelimli Programlamaya Giriş

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

BİL-141 Bilgisayar Programlama I (Java)

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

BİL-141 Bilgisayar Programlama I (Java)

Görsel Programlama 1

NETGSMSMS. VER 5.6.0

/*int sayi1, sayi2,toplam=0;

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Dağıtık Sistemler CS5001

Örnek 1: Programı yazın ve çalıştırın.

3.Hafta. . Kontrol Deyimleri/İfadeler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Transkript:

BufferedReader java.io java.lang.object java.io.reader java.io.bufferedreader Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable Altsınıfları: LineNumberReader Bildirimi: public class BufferedReader extends Reader Giriş akımından okuduğu text ten karekterleri, array leri ya da satırları buffer a yazar. Etkili bir giriş aracıdır. Buffer uzunluğu öntanımlı olarak kullanılabileceği gibi, istenirse uzunluk belirtilebilir. Çoğu uygulamada öntanımlı uzunluk yeterlidir. Öntanımlı uzunluk JDK sürümlerinde farklı olabilir; ama çoğu sürümde 8192 byte olarak tanımlıdır. Genel kural olarak, BufferedReader tarafından okunan veri, ilgili karekter ya da byte dizisine dönüşür. Kaynaktaki veri büyükse, her okuma sonunda söz konusu dönüşümün yapılması, eylemi yavaşlatacaktır. O nedenle, doğrudan read() metodu ya da readline() metodu yerine FileReader ya da InputStreamReader sınıflarını eyleme katmak daha etkin olur. Örneğin, BufferedReader in = new BufferedReader(new FileReader("dosya.in")); kodları, dosyayı bir bütün olarak buffer a koyar. Oysa doğrudan read() ya da ReadLine() metotları kullanılırsa, her okuma sonunda buffer a giren verilerin byte ya da karektere dönüşmesi gerekir. DataInputStream sınıfını kullanan programlarda, onun yerine uygun bir BufferedReader konularak, text girişleri yerelleştirilebilir (localize). Veri Alanları: BufferedReader sınıfının, yalnızca java.io.reader sınıfından kalıtsal gelen lock 1

değişkeni vardır. Kurucuları: BufferedReader(Reader in) Creates a buffering character-input stream that uses a default-sized input buffer. BufferedReader(Reader in, int sz) Creates a buffering character-input stream that uses an input buffer of the specified size. BufferedReader Sınıfının Metotları: void close() Closes the stream and releases any system resources associated with it. void mark(int readaheadlimit) Marks the present position in the stream. boolean marksupported() Tells whether this stream supports the mark() operation, which it does. int read() Reads a single character. int read(char[] cbuf, int off, int len) String readline() Reads characters into a portion of an array. Reads a line of text. boolean ready() Tells whether this stream is ready to be read. void reset() long skip(long n) Resets the stream to the most recent mark. 2

Skips characters. java.io.reader Sınıfından Kalıtsal Gelen Metotlar: read, read java.lang.object sınıfından kalıtsal gelen metotlar: clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait InputStream tipinden olan System.in (klavye) den bir satır okumak için onu BufferedReader içine gömeriz. Bunu yapmak için, öncelikle onu InputStreamReader içine gömüyoruz. package BufferedReader; public static void main(string[] args) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(isr); String line; // klavyeden girilen satırları tutar System.out.println("Lütfen bir satır giriniz :"); while ((line = input.readline())!= null) { System.out.println(line); /** Lütfen bir satır giriniz : a1b2c3 d4 d5 f6 g7 h 8 ı 9 i 10 j11 a1b2c3 d4 d5 f6 g7 h 8 ı 9 i 10 j11 Aşağıdaki programda, InputStream tipinden olan Sytem.in standart girişinden (klavye) bir seferde bir satır okumak için, önce InputStreamReader sınıfına gömülüyor. Sonra o da BufferedReader sınıfına gömülüyor. main() metoduna hata yakalama deyiminin eklendiğine dikkat ediniz. package BufferedReader; 3

public static void main(string[] args) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String satır; // satır tutan değişken System.out.println("Lütfen bir satır giriniz:"); /** while ((satır = br.readline())!= null) { System.out.println(satır); Aşağıdaki program, klâvyeden girilen satırı sayıya dönüştürüyor. public public static void main(string[] args) throws IOException { BufferedReader stdin = new BufferedReader(new InputStreamReader( System.in)); double root1, root2; double rootca, rootcb; System.out.println(" ax^2 + bx + c = denkleminin köklerini bulur."); System.out.println(" a katsayısını giriniz :"); int a = Integer.parseInt(stdin.readLine()); System.out.println("b katsayısını giriniz :"); int b = Integer.parseInt(stdin.readLine()); System.out.println("c sabitini giriniz :"); int c = Integer.parseInt(stdin.readLine()); double delta, deltasqrt; delta = b * b - 4 * a * c; if (delta >= 0) { deltasqrt = Math.sqrt(delta); root1 = (-b + deltasqrt) / (2 * a); root2 = (-b - deltasqrt) / (2 * a); System.out.println("Kökler : " + root1 + " and " + root2); else { deltasqrt = Math.sqrt(-delta); rootca = deltasqrt / (2 * a); rootcb = deltasqrt / (2 * a); System.out.println("Kökler : " + -b / (2 * a) + "+i" + rootca + " ve " + -b / (2 * a) + "-i" + rootcb); 4

/** ax^2 + bx + c = denkleminin köklerini bulur. a katsayısını giriniz : 2 b katsayısını giriniz : -3 c sabitini giriniz : 4 Kökler : 0+i1.1989578808281798 ve 0-i1.1989578808281798 Program: Klâvyeden Buffer a Giriş Aşağıdaki program BufferedReader sınfının read() metodu ile klavyeden girilen metni karekter karekter okuyor ve standart çıkışa gönderiyor. Sytem.in akımı InputStreamReader sınıfına, o da BufferedReader sınıfına gömülmüştür. public static void main(string args[]) throws IOException { char c; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Bir metin satır giriniz."); // karakter oku do { c = (char) br.read(); System.out.print(c); while (c!= -1); /** Bir satır giriniz. abc 123 def 456 ghi 89.3 nmö abc 123 def 456 ghi 89.3 nmö Aşağıdaki program klâvyeden girilen satırları okuyup ekrana yazıyor. public static void main(string args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; 5

System.out.println("Birkaç satır griniz."); System.out.println("Durmak için son satıra 'dur' yazınız."); do { str = br.readline(); System.out.println(str); while (!str.equals("dur")); /* Birkaç satır griniz. Durmak için son satıra 'dur' yazınız. hjsb hjsb oıjeoı oıjeoı 6tr7 6tr7 dur dur Program: Klâvyeden BufferedReader a Giriş // Basit bir editor. class TinyEdit { public static void main(string args[]) throws IOException { // create a BufferedReader using System.in BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str[] = new String[100]; System.out.println("Bir satır yaz."); System.out.println("Durmak için yeni bir satıra 'dur' yaz."); for(int i=0; i<100; i++) { str[i] = br.readline(); if(str[i].equals("dur")) break; System.out.println("\n Yazdığınız metin budur:"); // display the lines for(int i=0; i<100; i++) { if(str[i].equals("dur")) break; System.out.println(str[i]); 6

public public static void main(string args[]) { int ch = 0; int[] numbers = { 17, 5, 14, 23, 70 ; try { System.out.println("1. Veri yaz"); System.out.println("2. Veri Oku"); System.out.println("Lütfen seçiminizi yapınız "); BufferedReader br = new BufferedReader(new InputStreamReader( System.in)); ch = Integer.parseInt(br.readLine()); switch (ch) { case 1: FileOutputStream fos = new FileOutputStream("datafile.txt"); BufferedOutputStream bos = new BufferedOutputStream(fos); DataOutputStream out = new DataOutputStream(bos); for (int i = 0; i < numbers.length; i++) { out.writeint(numbers[i]); System.out.print("write successfully"); out.close(); case 2: FileInputStream fis = new FileInputStream("datafile.txt"); BufferedInputStream bis = new BufferedInputStream(fis); DataInputStream in = new DataInputStream(bis); while (true) { System.out.print(in.readInt()); default: System.out.println("Invalid choice"); catch (Exception e) { System.err.println("Error in read/write data to a file: " + e); // Text okuma import java.io.bufferedreader; import java.io.filereader; import java.io.ioexception; import java.io.file; 7

public class TextReader { private static void readfile(string filename) { try { File file = new File(fileName); FileReader reader = new FileReader(file); BufferedReader in = new BufferedReader(reader); String string; while ((string = in.readline())!= null) { System.out.println(string); in.close(); catch (IOException e) { e.printstacktrace(); public static void main(string[] args) { if (args.length!= 1) { System.err.println("Çalıştırma: java TextReader " + "dosya adresi"); System.exit(0); readfile(args[0]); public static void main(string[] args) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String line; // satır tutan değişken while ((line = br.readline())!= null) { System.out.println(line); // BufferedReader örneği class ReadKeys4 { public static void main(string args[]) { Reader in = new BufferedReader(new InputStreamReader(System.in)); char buf[] = new char[10]; try { 8

in.read(buf, 0, 10); catch (Exception e) { System.out.println("Error: " + e.tostring()); String s = new String(buf); System.out.println(s); 9