0

Dosya İşlemleri dersi Not Defteri uygulaması kodları ( Okuldan )

Merhaba arkadaşlar 22 Ekim de yaptığımız java kursuna ait örnek projenin kodlarını paylaşıyorum. FileOperations.java sınıfı ile dosya’ya yazma ve okuma işlemlerini kolaylaştırmış olduk ve basit bir arayüz tasarlayarak kodlarımızı çalıştırdık. Veritabanı dersine girmeden basit bir veritabanı oluşturmuş olduk. Farklı algoritmalar kurarak daha gelişmiş uygulamalar yapabilirsiniz. herkese kolay gelsin. 

//Controller.java
package sample;

import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;

import java.io.FileOutputStream;
import java.net.URL;
import java.util.ResourceBundle;

public class Controller implements Initializable {


    @FXML
    Button buttonSave;
    @FXML
    TextField textData;
    @FXML
    TextArea txtAreaData;

    @Override
    public void initialize(URL location, ResourceBundle resources) {

        FileOperations fileOperations=new FileOperations("test.txt");


        txtAreaData.setText(fileOperations.readFile().toString());

        buttonSave.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {

             boolean result=fileOperations.saveDataInFile(textData.getText(),true,true);
             textData.clear();
             if(result){

                 txtAreaData.setText(fileOperations.readFile().toString());
             }

            }
        });
    }
}
// FileOperaitons.java
package sample;

import java.io.*;

public class FileOperations {

    File file=null;
    String fileName=null;

    public FileOperations(String fileName){
       this.fileName=fileName;
       createFile();
    }

    private  void createFile(){

        file=new File(this.fileName);
        if(!file.exists()){
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }



    public StringBuilder readFile() {

        StringBuilder stringBuilder=new StringBuilder();
        FileReader fileReader= null;
        BufferedReader bufferedReader=null;
        try {
            fileReader = new FileReader(file);
             bufferedReader=new BufferedReader(fileReader);

            String readString=bufferedReader.readLine();
            while (readString!=null){
                stringBuilder.append(readString+"\n");
                readString=bufferedReader.readLine();
            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        finally {
            try {
                fileReader.close();
                bufferedReader.close();

            } catch (IOException e) {
                e.printStackTrace();
            }


            return  stringBuilder;
        }

    }

    public boolean saveDataInFile(String text,boolean isAppend,boolean isNewLine){

        FileWriter fileWriter= null;
        boolean result=false;
        BufferedWriter bufferedWriter=null;
        try {
            fileWriter = new FileWriter(file,isAppend);
             bufferedWriter=new BufferedWriter(fileWriter);
            if(isNewLine){
                bufferedWriter.newLine();
            }
            bufferedWriter.write(text);
            bufferedWriter.flush();
            result=true;

        } catch (IOException e) {
            e.printStackTrace();
        }

        finally {

            try {
                fileWriter.close();
                bufferedWriter.close();
            } catch (IOException e) {
                e.printStackTrace();
            }


            return result;
        }






    }



}
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.TextArea?>
<GridPane fx:controller="sample.Controller"
          xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10" prefWidth="800" prefHeight="500">



    <Button GridPane.columnIndex="1" GridPane.rowIndex="0" text="Dosyaya Ekle " fx:id="buttonSave"></Button>
    <TextField promptText="......" GridPane.rowIndex="0" prefWidth="550" GridPane.columnIndex="0" fx:id="textData"></TextField>

    <TextArea GridPane.columnSpan="2"  GridPane.rowIndex="1" prefWidth="600" fx:id="txtAreaData"></TextArea>





</GridPane>

 

admin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir