본문 바로가기
JAVA/예제

[JAVA] swing을 사용한 txt파일 저장

by JJH0100 2022. 10. 25.
728x90
반응형

입력

package Ex01;

import java.awt.*;
import java.awt.event.*;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import javax.swing.*;

class GUI1 extends JFrame implements ActionListener{
	private JTextField jtf;
	private JTextArea jta;
	
	public GUI1() {
		JButton jb = new JButton("파일로 저장");
		jtf = new JTextField("파일 이름을 입력하세요", 20);
		jta = new JTextArea("파일의 내용을 입력하세요", 10, 20);
		Container ct = getContentPane();
		ct.setLayout(new FlowLayout());
		JPanel p1 = new JPanel();
		ct.add(jta);
		p1.add(jtf);
		p1.add(jb);
		ct.add(p1);
		jb.addActionListener(this);
		setTitle("GUI Test1");
		setSize(500, 300);
		setVisible(true);
	}
	
	public void actionPerformed(ActionEvent ae) {
		try {
			String s = jtf.getText();
			FileOutputStream fos = new FileOutputStream(s);
			DataOutputStream dos = new DataOutputStream(fos);
			dos.writeUTF(jta.getText());
			fos.close();
			System.out.print(s+"파일이 생성되었습니다.");
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
}

public class GUITest {	
	public static void main(String[] args) {
		new GUI1();
	}
}

파일로 저장 버튼을 클릭하면 프로젝트의 상단에 파일이 생성되고 해당 내용이 입력된다.

 

 

 

출력

package Ex01;

import java.awt.*;
import java.awt.event.*;
import java.io.DataInputStream;
import java.io.FileInputStream;
import javax.swing.*;

class GUI2 extends JFrame implements ActionListener{
	private JTextField jtf;
	private JTextArea jta;
	
	public GUI2() {
		JButton jb = new JButton("파일 읽어오기");
		jtf = new JTextField("파일 이름을 입력하세요", 20);
		jta = new JTextArea(10, 20);
		jta.setEditable(false);
		Container ct = getContentPane();
		ct.setLayout(new FlowLayout());
		JPanel p1 = new JPanel();
		p1.add(jtf);
		p1.add(jb);
		ct.add(p1);
		ct.add(jta);
		jb.addActionListener(this);
		setTitle("GUI Test2");
		setSize(400, 400);
		setVisible(true);
	}
	
	public void actionPerformed(ActionEvent ae) {
		try {
			String s = jtf.getText();
			FileInputStream fis = new FileInputStream(s);
			DataInputStream dis = new DataInputStream(fis);
			jta.setText(dis.readUTF());
			fis.close();
			System.out.print(s+"파일이 생성되었습니다.");
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
}

public class GUITest2 {	
	public static void main(String[] args) {
		new GUI2();
	}
}

728x90
반응형

'JAVA > 예제' 카테고리의 다른 글

[JAVA] JRadioButton 버튼 클릭시 문구변경  (0) 2022.10.25
[JAVA] Buffer를 사용한 txt 저장  (0) 2022.10.25
[JAVA] 전화번호북  (0) 2022.10.11
[JAVA] 일정관리 프로그램  (0) 2022.10.11
[JAVA] 단어사전  (0) 2022.10.11

댓글