{"id":10212,"date":"2026-10-31T10:40:13","date_gmt":"2026-10-31T07:40:13","guid":{"rendered":"https:\/\/www.yunuskaytan.com\/?p=10212"},"modified":"2026-10-31T10:40:13","modified_gmt":"2026-10-31T07:40:13","slug":"java-da-dosya-okuma-ve-yazma","status":"publish","type":"post","link":"https:\/\/www.yunuskaytan.com\/en\/yk\/java-da-dosya-okuma-ve-yazma\/","title":{"rendered":"Java&#8217;da Dosya Okuma ve Yazma"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde harici verilerle \u00e7al\u0131\u015fmak en temel gereksinimlerden biridir. Kullan\u0131c\u0131 ayarlar\u0131n\u0131n saklanmas\u0131, log kay\u0131tlar\u0131n\u0131n tutulmas\u0131 veya b\u00fcy\u00fck veri setlerinin i\u015flenmesi gibi bir\u00e7ok senaryoda dosya sistemine eri\u015fim zorunludur. Java platformu, ilk s\u00fcr\u00fcmlerinden bu yana dosya i\u015flemleri i\u00e7in kapsaml\u0131 k\u00fct\u00fcphaneler sunmaktad\u0131r. Bu rehberde, Java dosya okuma ve yazma tekniklerini temelden ele alacak, hem geleneksel I\/O hem de modern NIO.2 yakla\u015f\u0131mlar\u0131n\u0131 inceleyece\u011fiz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Java I\/O ve NIO Mimarisine Genel Bak\u0131\u015f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java&#8217;da girdi ve \u00e7\u0131kt\u0131 (I\/O) i\u015flemleri temelde iki ana kategoriye ayr\u0131l\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Byte tabanl\u0131 ak\u0131\u015flar: Resim, ses, video veya derlenmi\u015f dosyalar gibi ikili (binary) verileri i\u015flemek i\u00e7in <code>InputStream<\/code> ve <code>OutputStream<\/code> s\u0131n\u0131flar\u0131 kullan\u0131l\u0131r.<\/li>\n\n<li>Karakter tabanl\u0131 ak\u0131\u015flar: Metin tabanl\u0131 verileri i\u015flemek i\u00e7in <code>Reader<\/code> ve <code>Writer<\/code> s\u0131n\u0131flar\u0131 tercih edilir. Bu s\u0131n\u0131flar karakter kodlamalar\u0131n\u0131 (UTF-8, ASCII gibi) otomatik olarak y\u00f6netir.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Java 7 ile birlikte gelen NIO.2 (New I\/O) paketi (<code>java.nio.file<\/code>), dosya sistemi i\u015flemlerini \u00e7ok daha performansl\u0131, esnek ve okunabilir bir yap\u0131ya kavu\u015fturmu\u015ftur. G\u00fcncel projelerde dosya i\u015flemlerini yaparken hem geleneksel <code>java.io<\/code> paketindeki ak\u0131\u015flar\u0131 hem de <code>java.nio.file.Files<\/code> s\u0131n\u0131f\u0131n\u0131 amaca uygun \u015fekilde kullanmak gerekir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Java Dosya Okuma Y\u00f6ntemleri<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dosya okurken dosyan\u0131n boyutu, yap\u0131s\u0131 ve uygulaman\u0131n bellek k\u0131s\u0131tlamalar\u0131 belirleyici rol oynar. Java dosya okuma amac\u0131yla en s\u0131k ba\u015fvurulan y\u00f6ntemleri inceleyelim.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">BufferedReader ile Sat\u0131r Sat\u0131r Okuma<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00fcy\u00fck boyutlu metin dosyalar\u0131nda t\u00fcm i\u00e7eri\u011fi bir anda belle\u011fe y\u00fcklemek OutOfMemoryError hatas\u0131na yol a\u00e7abilir. <code>BufferedReader<\/code>, verileri bellek tamponuna (buffer) alarak sat\u0131r sat\u0131r okur ve sistem \u00e7a\u011fr\u0131s\u0131 maliyetini minimuma indirir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.io.BufferedReader;\nimport java.io.FileReader;\nimport java.io.IOException;\n\npublic class DosyaOkumaBuffer {\n    public static void main(String[] args) {\n        String dosyaYolu = \"ornek.txt\";\n\n        try (BufferedReader br = new BufferedReader(new FileReader(dosyaYolu))) {\n            String satir;\n            while ((satir = br.readLine()) != null) {\n                System.out.println(satir);\n            }\n        } catch (IOException e) {\n            System.err.println(\"Dosya okunurken bir hata olu\u015ftu: \" + e.getMessage());\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu \u00f6rnekte <code>FileReader<\/code> dosya karakter ak\u0131\u015f\u0131n\u0131 a\u00e7arken, <code>BufferedReader<\/code> bu ak\u0131\u015f\u0131 tamponlar. <code>readLine()<\/code> metodu dosya sonuna gelene kadar her sat\u0131r\u0131 d\u00f6ng\u00fc i\u00e7inde string olarak d\u00f6nd\u00fcr\u00fcr. <code>try-with-resources<\/code> blo\u011fu sayesinde dosya i\u015flemi bitti\u011finde veya bir hata meydana geldi\u011finde ak\u0131\u015f otomatik olarak kapat\u0131l\u0131r.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Scanner S\u0131n\u0131f\u0131 ile Okuma<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Scanner<\/code> s\u0131n\u0131f\u0131, \u00f6zellikle ayr\u0131\u015ft\u0131r\u0131lmas\u0131 (parsing) gereken verilerde kullan\u0131\u015fl\u0131d\u0131r. Say\u0131sal de\u011ferler veya belirli ayra\u00e7larla (delimiter) ayr\u0131lm\u0131\u015f veriler okunurken tercih edilir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.io.File;\nimport java.io.FileNotFoundException;\nimport java.util.Scanner;\n\npublic class DosyaOkumaScanner {\n    public static void main(String[] args) {\n        File dosya = new File(\"veriler.txt\");\n\n        try (Scanner scanner = new Scanner(dosya)) {\n            while (scanner.hasNextLine()) {\n                String satir = scanner.nextLine();\n                System.out.println(satir);\n            }\n        } catch (FileNotFoundException e) {\n            System.err.println(\"Dosya bulunamad\u0131: \" + e.getMessage());\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu kod blo\u011funda <code>Scanner<\/code>, dosyay\u0131 sat\u0131r sat\u0131r denetler. Metin okuma performans\u0131 <code>BufferedReader<\/code> kadar y\u00fcksek olmasa da <code>nextInt()<\/code>, <code>nextDouble()<\/code> gibi metodlar\u0131yla tip d\u00f6n\u00fc\u015f\u00fcmlerini do\u011frudan yapabilme esnekli\u011fi sunar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Files S\u0131n\u0131f\u0131 ile Modern Okuma (NIO.2)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">K\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli dosyalar i\u00e7in Java 7 ve 8 ile gelen <code>Files<\/code> s\u0131n\u0131f\u0131 en temiz s\u00f6zdizimini sa\u011flar. Tek sat\u0131rda t\u00fcm dosya i\u00e7eri\u011fini bir listeye veya do\u011frudan belle\u011fe aktarmak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.io.IOException;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.nio.file.Paths;\nimport java.util.List;\n\npublic class DosyaOkumaNIO {\n    public static void main(String[] args) {\n        Path yol = Paths.get(\"ornek.txt\");\n\n        try {\n            List&lt;String&gt; satirlar = Files.readAllLines(yol);\n            satirlar.forEach(System.out::println);\n        } catch (IOException e) {\n            System.err.println(\"NIO okuma hatas\u0131: \" + e.getMessage());\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Files.readAllLines()<\/code> metodu dosyadaki her sat\u0131r\u0131 bir <code>List&lt;String&gt;<\/code> eleman\u0131 olarak d\u00f6ner. \u00c7ok b\u00fcy\u00fck dosyalarda bellek t\u00fcketimini kontrol alt\u0131nda tutmak i\u00e7in bu metodun yerine <code>Files.lines(Path yol)<\/code> ak\u0131\u015f (Stream) metodu kullan\u0131lmal\u0131d\u0131r.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Java Dosya Yazma Y\u00f6ntemleri<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bir dosyaya veri yazarken mevcut verinin \u00fczerine yazma (overwrite) ya da sonuna ekleme (append) senaryolar\u0131 mevcuttur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">BufferedWriter ile Dosyaya Yazma<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Metin dosyalar\u0131na s\u0131ral\u0131 ve y\u00fcksek performansl\u0131 yazma i\u015flemleri i\u00e7in <code>BufferedWriter<\/code> en g\u00fcvenilir tercihlerden biridir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.io.BufferedWriter;\nimport java.io.FileWriter;\nimport java.io.IOException;\n\npublic class DosyaYazmaBuffer {\n    public static void main(String[] args) {\n        String dosyaYolu = \"cikti.txt\";\n\n        try (BufferedWriter bw = new BufferedWriter(new FileWriter(dosyaYolu, true))) {\n            bw.write(\"Siber g\u00fcvenlik g\u00fcnl\u00fckleri.\");\n            bw.newLine();\n            bw.write(\"Java dosya yazma i\u015flemi tamamland\u0131.\");\n            bw.newLine();\n        } catch (IOException e) {\n            System.err.println(\"Yazma hatas\u0131: \" + e.getMessage());\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>FileWriter<\/code> yap\u0131c\u0131s\u0131na verilen ikinci parametre olan <code>true<\/code>, dosyan\u0131n sonuna ekleme modunu (append) etkinle\u015ftirir. Bu de\u011fer belirtilmezse veya <code>false<\/code> ge\u00e7ilirse, dosya mevcutsa i\u00e7eri\u011fi s\u0131f\u0131rlan\u0131r ve yeni veri yaz\u0131l\u0131r. <code>newLine()<\/code> metodu i\u015fletim sistemine \u00f6zg\u00fc sat\u0131r sonu karakterini ekler.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Modern Files S\u0131n\u0131f\u0131 ile Dosyaya Yazma<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 11 ile birlikte gelen <code>Files.writeString()<\/code> veya standart <code>Files.write()<\/code> metodlar\u0131, zahmetsizce dosya yazmay\u0131 sa\u011flar.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.io.IOException;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.nio.file.Paths;\nimport java.nio.file.StandardOpenOption;\n\npublic class DosyaYazmaNIO {\n    public static void main(String[] args) {\n        Path yol = Paths.get(\"hizli_cikti.txt\");\n        String icerik = \"Sistem log kayd\u0131: Yetkisiz eri\u015fim denemesi tespit edildi.n\";\n\n        try {\n            Files.writeString(yol, icerik, StandardOpenOption.CREATE, StandardOpenOption.APPEND);\n        } catch (IOException e) {\n            System.err.println(\"Dosya yazma hatas\u0131: \" + e.getMessage());\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu \u00f6rnekte <code>StandardOpenOption.CREATE<\/code> dosya yoksa olu\u015fturulmas\u0131n\u0131, <code>StandardOpenOption.APPEND<\/code> ise i\u00e7eri\u011fin dosyan\u0131n sonuna ili\u015ftirilmesini sa\u011flar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dosya \u0130\u015flemlerinde Dikkat Edilmesi Gerekenler<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Girdi ve \u00e7\u0131kt\u0131 s\u00fcre\u00e7leri i\u015fletim sistemi kaynaklar\u0131yla do\u011frudan temas halindedir. Kararl\u0131 ve g\u00fcvenli bir yaz\u0131l\u0131m geli\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki noktalara dikkat edilmelidir:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kaynak Y\u00f6netimi: A\u00e7\u0131lan her ak\u0131\u015f sistemde bir dosya tan\u0131t\u0131c\u0131s\u0131 (file descriptor) t\u00fcketir. <code>try-with-resources<\/code> yap\u0131s\u0131 kullan\u0131larak kaynaklar\u0131n i\u015flem sonunda serbest b\u0131rak\u0131lmas\u0131 garanti alt\u0131na al\u0131nmal\u0131d\u0131r.<\/li>\n\n<li>Karakter Kodlamas\u0131: Farkl\u0131 platformlarda (Windows, Linux, macOS) \u00e7al\u0131\u015f\u0131rken T\u00fcrk\u00e7e karakter sorunlar\u0131 ya\u015famamak i\u00e7in <code>StandardCharsets.UTF_8<\/code> a\u00e7\u0131k\u00e7a belirtilmelidir.<\/li>\n\n<li>G\u00fcvenlik ve Path Traversal: Kullan\u0131c\u0131dan al\u0131nan dosya isimleri do\u011frudan i\u015fletim sistemi yoluna aktar\u0131lmamal\u0131d\u0131r. <code>..\/<\/code> gibi dizin atlatma girdileri do\u011frulanmal\u0131 ve normalize edilmelidir.<\/li>\n\n<li>Bellek Verimlili\u011fi: GB \u00f6l\u00e7e\u011findeki b\u00fcy\u00fck dosyalar <code>Files.readAllLines<\/code> veya <code>Files.readAllBytes<\/code> ile tek seferde belle\u011fe al\u0131nmamal\u0131, ak\u0131\u015f tabanl\u0131 y\u00f6ntemler tercih edilmelidir.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00d6zet ve Sonraki Ad\u0131mlar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java&#8217;da dosya i\u015flemleri, geleneksel I\/O ak\u0131\u015flar\u0131ndan modern NIO.2 API&#8217;sine kadar esnek se\u00e7enekler sunar. K\u00fc\u00e7\u00fck \u00e7apl\u0131 i\u015flemler i\u00e7in <code>Files<\/code> s\u0131n\u0131f\u0131 h\u0131zl\u0131 ve pratik \u00e7\u00f6z\u00fcmler sunarken, y\u00fcksek hacimli veya ak\u0131\u015f tabanl\u0131 veri transferlerinde <code>BufferedReader<\/code> ve <code>BufferedWriter<\/code> performans avantaj\u0131 sa\u011flar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bir sonraki ad\u0131mda dosya izinlerinin y\u00f6netimi, dizin gezinme (DirectoryStream) ve nesnelerin diske kaydedilmesini sa\u011flayan serile\u015ftirme (Serialization) mekanizmalar\u0131n\u0131 inceleyebilirsiniz.<\/p>","protected":false},"excerpt":{"rendered":"<p>Java ile dosya okuma ve yazma i\u015flemlerini temelden ele al\u0131yor, geleneksel I\/O ve modern NIO.2 yakla\u015f\u0131mlar\u0131n\u0131 kod \u00f6rnekleriyle inceliyoruz.<\/p>","protected":false},"author":1,"featured_media":10213,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[227],"tags":[355,275,245,353,354],"class_list":["post-10212","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-bufferedreader","tag-dosya-islemleri","tag-java","tag-java-dosya-okuma","tag-nio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Java&#039;da Dosya Okuma ve Yazma - Yunus KAYTAN<\/title>\n<meta name=\"description\" content=\"Java&#039;da dosya okuma ve yazma i\u015flemlerini BufferedReader, Files ve Scanner gibi y\u00f6ntemlerle modern pratikler \u00fczerinden ad\u0131m ad\u0131m \u00f6\u011frenin.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.yunuskaytan.com\/en\/yk\/java-da-dosya-okuma-ve-yazma\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java&#039;da Dosya Okuma ve Yazma - Yunus KAYTAN\" \/>\n<meta property=\"og:description\" content=\"Java&#039;da dosya okuma ve yazma i\u015flemlerini BufferedReader, Files ve Scanner gibi y\u00f6ntemlerle modern pratikler \u00fczerinden ad\u0131m ad\u0131m \u00f6\u011frenin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yunuskaytan.com\/en\/yk\/java-da-dosya-okuma-ve-yazma\/\" \/>\n<meta property=\"og:site_name\" content=\"Yunus KAYTAN\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-31T07:40:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/blog-kapak\/java-da-dosya-okuma-ve-yazma-kapak.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"yunuskaytan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"yunuskaytan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/\"},\"author\":{\"name\":\"yunuskaytan\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#\\\/schema\\\/person\\\/be66986fb499da83a5685de34f68d15a\"},\"headline\":\"Java&#8217;da Dosya Okuma ve Yazma\",\"datePublished\":\"2026-10-31T07:40:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/\"},\"wordCount\":869,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.yunuskaytan.com\\\/wp-content\\\/uploads\\\/blog-kapak\\\/java-da-dosya-okuma-ve-yazma-kapak.jpg\",\"keywords\":[\"bufferedreader\",\"dosya islemleri\",\"java\",\"java dosya okuma\",\"nio\"],\"articleSection\":[\"Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/\",\"url\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/\",\"name\":\"Java'da Dosya Okuma ve Yazma - Yunus KAYTAN\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.yunuskaytan.com\\\/wp-content\\\/uploads\\\/blog-kapak\\\/java-da-dosya-okuma-ve-yazma-kapak.jpg\",\"datePublished\":\"2026-10-31T07:40:13+00:00\",\"description\":\"Java'da dosya okuma ve yazma i\u015flemlerini BufferedReader, Files ve Scanner gibi y\u00f6ntemlerle modern pratikler \u00fczerinden ad\u0131m ad\u0131m \u00f6\u011frenin.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.yunuskaytan.com\\\/wp-content\\\/uploads\\\/blog-kapak\\\/java-da-dosya-okuma-ve-yazma-kapak.jpg\",\"contentUrl\":\"https:\\\/\\\/www.yunuskaytan.com\\\/wp-content\\\/uploads\\\/blog-kapak\\\/java-da-dosya-okuma-ve-yazma-kapak.jpg\",\"width\":1200,\"height\":630,\"caption\":\"Java'da Dosya Okuma ve Yazma\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/yk\\\/java-da-dosya-okuma-ve-yazma\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\\\/\\\/www.yunuskaytan.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java&#8217;da Dosya Okuma ve Yazma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#website\",\"url\":\"https:\\\/\\\/www.yunuskaytan.com\\\/\",\"name\":\"Yunus KAYTAN\",\"description\":\"Bili\u015fim, Siber G\u00fcvenlik, Siber Su\u00e7lar ve Sosyal M\u00fchendislik\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.yunuskaytan.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#organization\",\"name\":\"Bili\u015fim, Siber G\u00fcvenlik, Siber Su\u00e7lar ve Sosyal M\u00fchendislik\",\"url\":\"https:\\\/\\\/www.yunuskaytan.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.yunuskaytan.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/cropped-BILISIM-VE-SIBER-GUVENLIK.png\",\"contentUrl\":\"https:\\\/\\\/www.yunuskaytan.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/cropped-BILISIM-VE-SIBER-GUVENLIK.png\",\"width\":400,\"height\":109,\"caption\":\"Bili\u015fim, Siber G\u00fcvenlik, Siber Su\u00e7lar ve Sosyal M\u00fchendislik\"},\"image\":{\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.yunuskaytan.com\\\/#\\\/schema\\\/person\\\/be66986fb499da83a5685de34f68d15a\",\"name\":\"yunuskaytan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3caae7a5e52b2c1df0cbbb777ba7b421ad4777ac947e9320b5809e2d454ffdb4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3caae7a5e52b2c1df0cbbb777ba7b421ad4777ac947e9320b5809e2d454ffdb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3caae7a5e52b2c1df0cbbb777ba7b421ad4777ac947e9320b5809e2d454ffdb4?s=96&d=mm&r=g\",\"caption\":\"yunuskaytan\"},\"sameAs\":[\"http:\\\/\\\/www.yunuskaytan.com\"],\"url\":\"https:\\\/\\\/www.yunuskaytan.com\\\/en\\\/yk\\\/author\\\/yunuskaytan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java'da Dosya Okuma ve Yazma - Yunus KAYTAN","description":"Java'da dosya okuma ve yazma i\u015flemlerini BufferedReader, Files ve Scanner gibi y\u00f6ntemlerle modern pratikler \u00fczerinden ad\u0131m ad\u0131m \u00f6\u011frenin.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.yunuskaytan.com\/en\/yk\/java-da-dosya-okuma-ve-yazma\/","og_locale":"en_US","og_type":"article","og_title":"Java'da Dosya Okuma ve Yazma - Yunus KAYTAN","og_description":"Java'da dosya okuma ve yazma i\u015flemlerini BufferedReader, Files ve Scanner gibi y\u00f6ntemlerle modern pratikler \u00fczerinden ad\u0131m ad\u0131m \u00f6\u011frenin.","og_url":"https:\/\/www.yunuskaytan.com\/en\/yk\/java-da-dosya-okuma-ve-yazma\/","og_site_name":"Yunus KAYTAN","article_published_time":"2026-10-31T07:40:13+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/blog-kapak\/java-da-dosya-okuma-ve-yazma-kapak.jpg","type":"image\/jpeg"}],"author":"yunuskaytan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"yunuskaytan","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#article","isPartOf":{"@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/"},"author":{"name":"yunuskaytan","@id":"https:\/\/www.yunuskaytan.com\/#\/schema\/person\/be66986fb499da83a5685de34f68d15a"},"headline":"Java&#8217;da Dosya Okuma ve Yazma","datePublished":"2026-10-31T07:40:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/"},"wordCount":869,"commentCount":0,"publisher":{"@id":"https:\/\/www.yunuskaytan.com\/#organization"},"image":{"@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#primaryimage"},"thumbnailUrl":"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/blog-kapak\/java-da-dosya-okuma-ve-yazma-kapak.jpg","keywords":["bufferedreader","dosya islemleri","java","java dosya okuma","nio"],"articleSection":["Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/","url":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/","name":"Java'da Dosya Okuma ve Yazma - Yunus KAYTAN","isPartOf":{"@id":"https:\/\/www.yunuskaytan.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#primaryimage"},"image":{"@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#primaryimage"},"thumbnailUrl":"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/blog-kapak\/java-da-dosya-okuma-ve-yazma-kapak.jpg","datePublished":"2026-10-31T07:40:13+00:00","description":"Java'da dosya okuma ve yazma i\u015flemlerini BufferedReader, Files ve Scanner gibi y\u00f6ntemlerle modern pratikler \u00fczerinden ad\u0131m ad\u0131m \u00f6\u011frenin.","breadcrumb":{"@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#primaryimage","url":"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/blog-kapak\/java-da-dosya-okuma-ve-yazma-kapak.jpg","contentUrl":"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/blog-kapak\/java-da-dosya-okuma-ve-yazma-kapak.jpg","width":1200,"height":630,"caption":"Java'da Dosya Okuma ve Yazma"},{"@type":"BreadcrumbList","@id":"https:\/\/www.yunuskaytan.com\/yk\/java-da-dosya-okuma-ve-yazma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/www.yunuskaytan.com\/"},{"@type":"ListItem","position":2,"name":"Java&#8217;da Dosya Okuma ve Yazma"}]},{"@type":"WebSite","@id":"https:\/\/www.yunuskaytan.com\/#website","url":"https:\/\/www.yunuskaytan.com\/","name":"Yunus KAYTAN","description":"Information Technology, Cybersecurity, Cybercrimes and Social Engineering","publisher":{"@id":"https:\/\/www.yunuskaytan.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yunuskaytan.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.yunuskaytan.com\/#organization","name":"Information Technology, Cybersecurity, Cybercrimes and Social Engineering","url":"https:\/\/www.yunuskaytan.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.yunuskaytan.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/2021\/07\/cropped-BILISIM-VE-SIBER-GUVENLIK.png","contentUrl":"https:\/\/www.yunuskaytan.com\/wp-content\/uploads\/2021\/07\/cropped-BILISIM-VE-SIBER-GUVENLIK.png","width":400,"height":109,"caption":"Bili\u015fim, Siber G\u00fcvenlik, Siber Su\u00e7lar ve Sosyal M\u00fchendislik"},"image":{"@id":"https:\/\/www.yunuskaytan.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.yunuskaytan.com\/#\/schema\/person\/be66986fb499da83a5685de34f68d15a","name":"yunuskaytan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3caae7a5e52b2c1df0cbbb777ba7b421ad4777ac947e9320b5809e2d454ffdb4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3caae7a5e52b2c1df0cbbb777ba7b421ad4777ac947e9320b5809e2d454ffdb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3caae7a5e52b2c1df0cbbb777ba7b421ad4777ac947e9320b5809e2d454ffdb4?s=96&d=mm&r=g","caption":"yunuskaytan"},"sameAs":["http:\/\/www.yunuskaytan.com"],"url":"https:\/\/www.yunuskaytan.com\/en\/yk\/author\/yunuskaytan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/posts\/10212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/comments?post=10212"}],"version-history":[{"count":1,"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/posts\/10212\/revisions"}],"predecessor-version":[{"id":10214,"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/posts\/10212\/revisions\/10214"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/media\/10213"}],"wp:attachment":[{"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/media?parent=10212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/categories?post=10212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yunuskaytan.com\/en\/wp-json\/wp\/v2\/tags?post=10212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}