[java] 자바 스윙 컴포넌트에서 파일을 저장하고 불러오는 방법을 알려주세요.

파일 저장하기

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class FileSaveExample {
    public static void main(String[] args) {
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setDialogTitle("Specify a file to save");

        int userSelection = fileChooser.showSaveDialog(null);
        if (userSelection == JFileChooser.APPROVE_OPTION) {
            try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileChooser.getSelectedFile()))) {
                writer.write("Hello, World!");
                JOptionPane.showMessageDialog(null, "File saved successfully!");
            } catch (IOException ex) {
                JOptionPane.showMessageDialog(null, "Error saving file: " + ex.getMessage());
            }
        }
    }
}

파일 불러오기

import java.io.BufferedReader;
import java.io.FileReader;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class FileOpenExample {
    public static void main(String[] args) {
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setDialogTitle("Specify a file to open");

        int userSelection = fileChooser.showOpenDialog(null);
        if (userSelection == JFileChooser.APPROVE_OPTION) {
            try (BufferedReader reader = new BufferedReader(new FileReader(fileChooser.getSelectedFile()))) {
                String line;
                StringBuilder content = new StringBuilder();
                while ((line = reader.readLine()) != null) {
                    content.append(line).append("\n");
                }
                JOptionPane.showMessageDialog(null, "File content:\n" + content.toString());
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(null, "Error opening file: " + ex.getMessage());
            }
        }
    }
}

참고 자료

위의 코드 예제와 참고 자료를 통해 자바 스윙을 사용하여 파일을 저장하고 불러오는 방법을 쉽게 익힐 수 있습니다.