검색결과 리스트
파일저장에 해당되는 글 1건
- 2008.12.05 스윙] 웹상의 이미지 경로 로부터 파일저장
글
java
2008. 12. 5. 14:10
스윙] 웹상의 이미지 경로 로부터 파일저장
/*
웹상의 image url경로를 적어주게 되면 그 경로를 바탕으로 이미지를 로컬에 저장시켜주는 기능입니다.
아래 saveMethod는 다른이름으로 저장 버튼을 눌렀을시 이벤트가 발생하는 메서드입니다.
sava부분 로직만 참고!!
*/
private void savaMethod(java.awt.event.ActionEvent evt) {
/*===============================================================
* url_tf에 입력된 문자열을 가져온다. 그리고 그것이 비었는지 비교한후
* 저장할수 있는 JFileChooser를 생성한다.
* ==============================================================
*/
String url_path = url_tf.getText().trim();
if(url_path.length()>0){
JFileChooser fc = new JFileChooser("c:"+System.getProperty("file.separator"));
/*
* 저장시 JFilechooser창에 파일명이 설정되도록 하는 부분
*/
String f_name = url_path.substring(url_path.lastIndexOf("/")+1);
File set_name = new File("C:"+System.getProperty("file.separator")+f_name);
fc.setSelectedFile(set_name); // JFileChooser 창열릴시 파일명을 표시
int cmd = fc.showSaveDialog(this);
if(cmd==JFileChooser.APPROVE_OPTION){
/*
* 실제 저장할 파일은 웹상에 존재한다. 그것과
* 연결하여 현재 소스로 자원을 읽어올 통로(배관)이 필요한다.
* 웹사이트 문서와 연결이기 때문에 url객체 생성
*/
InputStream input = null;
FileOutputStream fos = null;
try {
input = new URL(url_path).openStream();
File f = fc.getSelectedFile();
/* =============================================================
* 이제 위에서 선택된 파일과 통로을 연결하여 자원들을 저장할수 있도록
* 배관작업을 한다.
* =============================================================
*/
if (f.exists()) {
int ch = JOptionPane.showConfirmDialog(this, "덮어씌우겠습니까?");
if (ch == JOptionPane.CANCEL_OPTION) {
return;
}
}
/*
* ==========================================================
* 현재행에 제어가 넘어왔다면 파일이 존재하지 않거나 존재하더라도
* 덮어씌우기를 선택한 경우이다.
* ==========================================================
*/
fos = new FileOutputStream(f);
//FileOutputStream을 통하여 파일에 쓰기
byte[] buf = new byte[2048];
int size = -1;
while((size = input.read(buf))!=-1){
fos.write(buf, 0, size);
}
JOptionPane.showMessageDialog(this, "저장완료!!");
} catch (Exception ex) {
} finally {
try {
fos.close();
} catch (IOException ex) {
}
}
}
}
}
RECENT COMMENT