티스토리 뷰
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 |