본문 바로가기

개발하자/JAVA중급

FileDialog 파일내용 불러오기(자원해제도)

방법1)

import java.io.*;
import java.awt.*;
import java.awt.event.*;

class A extends Frame implements ActionListener {
 MenuBar mb;
 Menu m;
 MenuItem mi1, mi2;
 TextArea ta;

 A() {
  mb = new MenuBar();
  m = new Menu("파일");
  mi1 = new MenuItem("열기");
  mi2 = new MenuItem("저장");

  ta = new TextArea();

  m.add(mi1);
  m.add(mi2);
  mb.add(m);
  setMenuBar(mb);
  add(ta);

  mi1.addActionListener(this);
 }

 @Override
 public void actionPerformed(ActionEvent e) {
  FileInputStream fis = null;
  try {
   FileDialog o = new FileDialog(this);
   o.setVisible(true);

   String fn = o.getDirectory() + o.getFile();
   fis = new FileInputStream(fn);
   byte[] buffer = new byte[fis.available()];
   fis.read(buffer);
   ta.setText(new String(buffer));
  } catch (Exception ee) {
   ee.printStackTrace();
  } finally {
   try {
    if (fis != null) {
     fis.close();
     fis = null;
    }
   } catch (Exception eee) {
   }
  }
 }

 public static void main(String args[]) {
  A frame = new A();
  frame.setBounds(200, 200, 500, 500);
  frame.setVisible(true);
 }
}

 

 

방법2)

import java.io.*;
import java.awt.*;
import java.awt.event.*;

class A extends Frame implements ActionListener {
MenuBar mb;
Menu m;
MenuItem mi1, mi2;
TextArea ta;

A() {
mb = new MenuBar();
m = new Menu("파일");
mi1 = new MenuItem("열기");
mi2 = new MenuItem("저장");

ta = new TextArea();

m.add(mi1);
m.add(mi2);
mb.add(m);
setMenuBar(mb);
add(ta);

mi1.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e){

FileDialog o = new FileDialog(this);
o.setVisible(true);
String fn=o.getDirectory()+o.getFile();

try(
FileInputStream fis=new FileInputStream(fn);
){
byte[] buffer=new byte[fis.available()];
fis.read(buffer);
ta.setText(new String(buffer));
}catch(Exception ee){
ee.printStackTrace();
}
}
public static void main(String args[]) {
A frame = new A();
frame.setBounds(200, 200, 500, 500);
frame.setVisible(true);
}
}

'개발하자 > JAVA중급' 카테고리의 다른 글

파일내용 입력하기  (0) 2015.01.31
파일에 문자 쓰기  (0) 2015.01.31
파일내용 읽어오기(한글)  (0) 2015.01.31
파일내용 읽어오기(영어만가능)  (0) 2015.01.31
System.in.read()  (0) 2015.01.31