[java] JavaFX 입출력 다루기

JavaFX는 Java 기반의 GUI 프레임워크로서, 다양한 플랫폼에서 멋진 사용자 인터페이스를 구축할 수 있도록 도와줍니다. 이러한 인터페이스를 개발하는 과정에서는 종종 입출력 작업을 수행해야합니다. 이 글에서는 JavaFX에서의 입출력 다루는 방법을 알아보겠습니다.

파일 입출력

JavaFX에서 파일 입출력을 다루는 방법은 Java 표준 라이브러리인 java.iojava.nio 패키지와 동일한 방법을 따릅니다. 따라서, 파일을 읽거나 쓰기 위해서는 FileInputStream, FileOutputStream, BufferedReader, BufferedWriter 등의 클래스를 사용할 수 있습니다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileIOExample {

    public static void main(String[] args) {
        try {
            // 파일 쓰기
            BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"));
            writer.write("Hello, JavaFX!");
            writer.close();
            
            // 파일 읽기
            BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
            String line = reader.readLine();
            System.out.println(line);
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 FileWriter 클래스를 사용하여 “file.txt” 파일에 “Hello, JavaFX!”라는 내용을 쓰고, FileReader 클래스를 사용하여 파일을 읽어오고 출력합니다.

사용자 입력 다루기

JavaFX에서는 사용자로부터 입력을 받을 수 있는 다양한 컨트롤을 제공합니다. 예를 들어, TextField, TextArea, ComboBox 등이 있습니다. 이러한 컨트롤을 이용하여 사용자로부터 입력을 받은 후, 해당 입력 값을 처리할 수 있습니다.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class UserInputExample extends Application{
    
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        TextField textField = new TextField();
        Button button = new Button("Submit");
        
        button.setOnAction(event -> {
            String input = textField.getText();
            System.out.println(input);
        });
        
        VBox root = new VBox();
        root.getChildren().addAll(textField, button);
        
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

위의 예제에서는 TextField를 사용하여 사용자로부터 입력을 받고, “Submit” 버튼을 클릭하면 해당 입력 값을 출력하는 방법을 보여줍니다.

참고 자료