Android Studio’da Dosyadan Okuma Ve Yazma İşlemleri

Merhaba ben bu yazımda Android Studio’da dosya nasıl yazılır dosyadaki içerik nasıl okunur ondan bahsedeceğim . Öncelikle yeni bir activity açalım. Bir dosya açıp, dosyanın içine bir bilgi yazacağız. Dosyayı okuma moduna alıp dosyanın içindeki bilgiyi ekrana yazdıracağız.

Şimdi bir textView ,bir tane de buton ekleyelim. Xml’den text kısımlarını ve Id’lerını düzenleyelim.

android:hint=”Dosyanın içeriği”
android:text=”Kaydet”

En önemli kısmı Manifest izni vermemiz gerekiyor.

Sağ tarafta app’nin altında manifest yeri var. Orayı açıp aşağıdaki kodu yazmamız gerekiyor.

<uses_permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE"> </uses_permission> 

Bilgisayarımızdan text dosyası açalım.

Resource’nin altında new sonra directör diye bir kendi oluşturduğumuz text dosyasını koycağız. raw yazalım. Şimdi bu dosyayı kendi android dosyamızdann resourcenin içine nasıl ekleyeceğiz?

Sağ tıklayıp, Directory Path’ı tıkadığımızda show ın explorer ile dosyalarımız görünüyor. Raw dosyayı şuan boş .Kendi oluşturduğumuz txt. dosyasını oaraya atıyoruz.

Şimdi MainActivity kısmından kodlamamızı yapalım. Tanımlamalardan başlayalım.

EditText dosya_içerik ;
    FileInputStream fileInputStream;
    FileOutputStream fileOutputStream;

Try ve catch kullanacağız. Çünkü dosya bulanamadı diye hata veriyor. Dosyaya yazmak için ;

dosya_içerik = (EditText) findViewById(R.id.editText_İçerik);
        final TextView tv = (TextView) findViewById(R.id.textView);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                try {
                    outputStream = openFileOutput("blogyazısı.txt.txt", MODE_APPEND);
                } catch (Exception e) {
                    System.out.print(e);
                }
                try {
                    outputStream.write(tv.getText().toString().getBytes());
                    outputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }
}

Okumak için input kullanıyoruz.

findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
      @Override
         public void onClick(View v) { 
           int a=65;
           tv.setText(Character.toString((char)a));
           try {
                ınputStream= openFileInput("blogyazısı.txt");
           }catch(Exception e){
           e.printStackTrace();
}
         int x;
         String okunan_metin="";
         try{
              while((x=ınputStream.read())!=-1) {
              okunan_metin += Character.toString((char) x); }
                ınputStream.close();
        }catch(IOException e){
   }
       tv.setText(okunan_metin);      Toast.makeText(MainActivity.this,okunan_metin,Toast.LENGTH_SHORT).show();
            }
   }
        );
    }
}

Yorum bırakın