Skip to content

Commit

Permalink
java 102
Browse files Browse the repository at this point in the history
  • Loading branch information
mmcetindag committed May 27, 2021
1 parent 6a0b028 commit 9c3cd78
Show file tree
Hide file tree
Showing 10 changed files with 435 additions and 2 deletions.
65 changes: 65 additions & 0 deletions java102/io-buffered-reader-writer/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# BufferedReader

Java.io paketinin BufferedReader sınıfı, verileri (karakter olarak) daha verimli okumak için diğer okuyucularla birlikte kullanılabilir. Soyut Reader sınıfını
genişletir.

BufferedReader, 8192 karakterlik bir dahili arabellek tutar. BufferedReader'daki okuma işlemi sırasında, diskten bir yığın karakter okunur ve dahili tamponda
saklanır ve dahili tampondan karakterler ayrı ayrı okunur. Böylelikle diskle iletişim sayısı azalır. BufferedReader kullanarak karakterleri okumak daha hızlı
olmasının nedeni budur.

````java
import java.io.BufferedReader;
import java.io.FileReader;

public class PatikaDev {
public static void main(String[] args) {

try {
FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);

String line;
while ((line = input.readLine()) != null) {
System.out.println(line);
}

input.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}

````

# BufferedWriter

Java.io paketinin BufferedWriter sınıfı, verileri (karakter olarak) daha verimli yazmak için diğer yazarlarla birlikte kullanılabilir. Writer soyut sınıfını
genişletir.

````java


import java.io.BufferedWriter;
import java.io.FileWriter;

public class PatikaDev {
public static void main(String[] args) {
String data = "Java 102 Dersleri";

try {
FileWriter file = new FileWriter("output.txt");

BufferedWriter output = new BufferedWriter(file);

output.write(data);

output.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}


````
53 changes: 53 additions & 0 deletions java102/io-file-reader-writer/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# FileReader

Java.io paketinin FileReader sınıfı, dosyalardan verileri (karakter olarak) okumak için kullanılabilir. InputStreamReader sınıfını genişletir.

````java

import java.io.FileReader;

public class PatikaDev {
public static void main(String[] args) {
try {
FileReader input = new FileReader("input.txt");

int data = input.read();
while (data != -1) {
System.out.print((char) data);
data = input.read();
}

input.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}


````

# FileWriter

Java.io paketinin FileWriter sınıfı, dosyalara (karakter olarak) veri yazmak için kullanılabilir. OutputStreamWriter sınıfını genişletir.

````java

import java.io.FileWriter;

public class PatikaDev {
public static void main(String[] args) {
String data = "Patika Java102 Dersleri";

try {
FileWriter output = new FileWriter("output.txt");
output.write(data);

output.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}

````
57 changes: 57 additions & 0 deletions java102/io-inputstreamreaders/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Reader Sınıfı

Java.io paketinin Reader sınıfı, bir karakter akışını (Characters Stream) temsil eden soyut bir üst sınıftır.

Reader soyut bir sınıf olduğu için kendi başına kullanışlı değildir. Bununla birlikte, alt sınıfları verileri okumak için kullanılabilir.

# InputStreamReader Sınıfı

Java.io paketinin InputStreamReader sınıfı, bayt cinsinden verileri karakter cinsinden verilere dönüştürmek için kullanılabilir. Soyut Reader sınıfını
genişletir.

InputStreamReader sınıfı, diğer giriş akışlarıyla (Input Streams) çalışır. Bayt akışları ve karakter akışları arasında bir köprü olarak da bilinir. Bunun
nedeni, InputStreamReader'ın giriş akışındaki baytları karakter olarak okumasıdır.

Örneğin, bazı karakterlerin depoda depolanması için 2 bayt gerekiyordu. Bu tür verileri okumak için, 2 baytı birlikte okuyan ve karşılık gelen karaktere
dönüştürmek için InputStreamReader sınıfını kullanabiliriz.

````java
// InputStream
FileInputStream file = new FileInputStream(String path);

// InputStreamReader
InputStreamReader input = new InputStreamReader(file);

````

````java
import java.io.InputStreamReader;
import java.io.FileInputStream;

public class PatikaDev {
public static void main(String[] args) {

char[] array = new char[100];

try {
// FileInputStream
FileInputStream file = new FileInputStream("input.txt");

// InputStreamReader
InputStreamReader input = new InputStreamReader(file);

int data = input.read();
while (data != -1) {
System.out.print((char) data);
data = input.read();
}

input.close();
} catch (Exception e) {
e.getStackTrace();
}

}
}

````
77 changes: 77 additions & 0 deletions java102/io-outputstreamwriter/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Writer Sınıfı

Java.io paketinin Writer sınıfı, bir karakter akışını temsil eden soyut bir üst sınıftır.

Writer soyut bir sınıf olduğu için kendi başına kullanışlı değildir. Bununla birlikte, alt sınıfları veri yazmak için kullanılabilir.

# OutputStreamWriter

Java.io paketinin OutputStreamWriter sınıfı, karakter biçimindeki verileri bayt biçimindeki verilere dönüştürmek için kullanılabilir. Writer soyut sınıfını
genişletir.

OutputStreamWriter sınıfı, diğer çıktı akışlarıyla çalışır. Bayt akışları ve karakter akışları arasında bir köprü olarak da bilinir. Bunun nedeni,
OutputStreamWriter'ın karakterlerini bayta dönüştürmesidir.

Örneğin, bazı karakterlerin depoda saklanması 2 bayt gerektirir. Bu tür verileri yazmak için, karakteri karşılık gelen baytlara dönüştüren ve baytları birlikte
depolaması için OutputStreamWriter sınıfını kullanabiliriz.

````java
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

public class PatikaDev {
public static void main(String[] args) {

String data = "Patika ile Java102 Dersleri";

try {
// FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");

// OutputStreamWriter
OutputStreamWriter output = new OutputStreamWriter(file);

output.write(data);

output.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}

````

getEncoding() metodu, çıktı akışına veri yazmak için kullanılan kodlama türünü almak için kullanılabilir. Örneğin,

````java

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;

public class PatikaDev {
public static void main(String[] args) {

try {
FileOutputStream file = new FileOutputStream("output.txt");

OutputStreamWriter output1 = new OutputStreamWriter(file);

OutputStreamWriter output2 = new OutputStreamWriter(file, StandardCharsets.UTF_8);

System.out.println("Character encoding of output1: " + output1.getEncoding());
System.out.println("Character encoding of output2: " + output2.getEncoding());

output1.close();
output2.close();
}

catch(Exception e) {
e.getStackTrace();
}
}
}


````
30 changes: 30 additions & 0 deletions java102/io-print-writer/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# PrintWriter

Java.io paketinin PrintWriter sınıfı, çıktı verilerini yaygın olarak okunabilir bir biçimde (metin) yazmak için kullanılabilir. Writer soyut sınıfını
genişletir.

Diğer Writer sınıflarının aksine, PrintWriter ilkel verileri (int, float, char, vb.) Metin formatına dönüştürür. Daha sonra bu biçimlendirilmiş verileri
Writer'a aktarır.

Ayrıca, PrintWriter sınıfı herhangi bir girdi / çıktı istisnası (Exception) atmaz. Bunun yerine, içindeki herhangi bir hatayı bulmak için checkError()
metodu kullanmamız gerekir.

````java

import java.io.PrintWriter;

public class PatikaDev {
public static void main(String[] args) {
String data = "Java 102 Dersleri.";
try {
PrintWriter output = new PrintWriter("output.txt");
output.print(data);
output.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}


````
59 changes: 59 additions & 0 deletions java102/io-string-reader-writer/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# StringReader

Java.io paketinin StringReader sınıfı, String veri tiplerini (karakter olarak) okumak için kullanılabilir. Soyut Reader sınıfını genişletir.

````java

import java.io.StringReader;

public class PatikaDev {
public static void main(String[] args) {

String str = "Java 101 String Reader.";

char[] array = new char[100];

try {
StringReader input = new StringReader(str);

int data = input.read();
while (data != -1) {
System.out.print((char) data);
data = input.read();
}
input.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}


````

# StringWriter

Java.io paketinin StringWriter sınıfı, dize arabelleğine veri (karakter olarak) yazmak için kullanılabilir. Writer soyut sınıfını genişletir.

`````java

import java.io.StringWriter;

public class PatikaDev {
public static void main(String[] args) {

String data = "Java 102.";

try {
StringWriter output = new StringWriter();
output.write(data);
System.out.println("Data in the StringWriter: " + output);
output.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}


`````
4 changes: 4 additions & 0 deletions java102/lambda/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Lambda Expression

Lambda ifadesi ilk kez Java 8'de tanıtıldı. Ana amacı dilin ifade gücünü artırmaktı. Ancak, lambdalara başlamadan önce, Fonksiyonel Interface konusunu anlamamız
gerekir.
13 changes: 12 additions & 1 deletion java102/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,18 @@
- [I/O Veri Akışları](io-stream/)
- [FileInputStream Sınıfı](io-fileinputstream/)
- [FileOutStream Sınıfı](io-fileoutputstream/)
- [ByteArrayInputStream ve ByteArrayOutputStream Sınıfı](io-bytearraystream/)
- [ByteArrayInputStream ve ByteArrayOutputStream Sınıfları](io-bytearraystream/)
- [Serialization ve ObjectStream Sınıfları](io-objectstream/)
- [BufferedInputStream ve BufferedOutputStream Sınıfları](io-bufferedstream/)
- [PrintStream Sınıfı](io-printstream/)
- [InputStreamReader Sınıfı](io-inputstreamreaders/)
- [OutputStreamWriter Sınıfı](io-outputstreamwriter/)
- [FileReader ve FileWriter Sınıfları](io-file-reader-writer)
- [BufferedReader ve BufferedWriter Sınıfları](io-buffered-reader-writer)
- [StringReader ve StringWriter Sınıfları](io-string-reader-writer)
- [PrintWriter Sınıfı](io-print-writer)

#### Diğer Faydalı Konular ####

- [Tip Dönüşümleri](type-casting/)
- [Lambda Expressions](lambda/)
Loading

0 comments on commit 9c3cd78

Please sign in to comment.