티스토리 뷰

java,web study/4주차 (7월 22일~28일)

FileBackup

doublemetal 2013. 7. 22. 22:07

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;


import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JOptionPane;


public class FileBackup extends JFrame implements ActionListener {


JButton backupBtn = null;

JFileChooser fc = null;


public FileBackup() {

super("파일 처리");

setLayout(new FlowLayout());

backupBtn = new JButton("backup");

backupBtn.addActionListener(this);

add(backupBtn);

// 백업버튼 생성 및 이벤트 처리


setSize(200, 80);

setVisible(true);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}


@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

fc = new JFileChooser();

int result = fc.showOpenDialog(this);

// 파일탐색기 띄움, 클릭한 버튼 반환


if (result == JFileChooser.APPROVE_OPTION) {

// 어프로브 버튼을 선택한 경우(열기)


File f = fc.getSelectedFile();

// 선택한 파일의 참조 변수(객체) 생성


result = JOptionPane.showConfirmDialog(this, f.getName() + " 선택",

"파일 확인", JOptionPane.OK_CANCEL_OPTION);

// 파일 선택 후에 컨펌 다이얼로그 호출, 선택 or 취소


if (result == JOptionPane.OK_OPTION) {

// 선택 버튼을 클릭한 경우


BufferedReader reader = null;

BufferedWriter writer = null;

String str = null;

try {

reader = new BufferedReader(new FileReader(f));

writer = new BufferedWriter(new FileWriter(new File("d:\\"

+ f.getName())));

// 버퍼리더 및 라이터 생성, writer는 디드라이브에 읽어들인 파일과 같은 이름으로 생성


while ((str = reader.readLine()) != null) {

writer.write(str);

writer.newLine();

// 라인바이라인으로 복사

}

JOptionPane.showMessageDialog(this, "백업이 성공했습니다.", "작업 성공",

JOptionPane.WARNING_MESSAGE);

// 다이얼로그 호출


reader.close();

writer.close();

// 사용한 스트림은 닫아준다.


} catch (Exception e) {

e.printStackTrace();

}

} else {

// 컨펌 다이얼로그에서 취소한 경우

JOptionPane.showMessageDialog(this, "백업 취소", "파일 선택 오류",

JOptionPane.WARNING_MESSAGE);

}

} else {

// 탐색창에서 취소 버튼을 클릭한 경우

JOptionPane.showMessageDialog(this, "백업 취소", "백업 작업 취소",

JOptionPane.WARNING_MESSAGE);

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub

new FileBackup();

}

}



'java,web study > 4주차 (7월 22일~28일)' 카테고리의 다른 글

IPDisplay  (0) 2013.07.24
ObjectSerialize  (0) 2013.07.22
FileCopy  (0) 2013.07.22
FileDelete  (0) 2013.07.22
FileInfo  (0) 2013.07.22
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함