자바 는 각각 바이트 흐름, 문자 흐름, 바 이 너 리 를 통 해 파일 을 읽 는 코드 입 니 다.

1880 단어 읽 기문건
공 사 를 하 는 과정 에서 비교적 좋 은 내용 세그먼트 를 백업 합 니 다. 아래 의 자 료 는 자바 가 각각 바이트 흐름, 문자 흐름, 바 이 너 리 를 통 해 파일 을 읽 는 내용 으로 어린이 들 에 게 용도 가 있 을 것 입 니 다.
public class Start
{
    public static void main(String args[]) throws Exception{

        File sf = new File("H:/javapro/files/source.jpg");  

        File df = new File("H:/javapro/files/dest.jpg");
        new ReadWriteGra(sf,df);
        new UseGra(df);
    }
}

class ReadWriteGra 
{
    FileInputStream in = null;
    FileOutputStream out = null;
    public ReadWriteGra(File sourceFile,File destFile) throws Exception{
        byte[] buf = new byte[1024];
        int len = 0;
        in = new FileInputStream(sourceFile);
        out = new FileOutputStream(destFile,true);
        while( (len = in.read(buf)) != -1 ){
            out.write(buf,0,len);
        }
        out.close();
    }
}
class UseGra extends JFrame
{
    public UseGra(File picFile) throws Exception{

        this.setVisible(true);
        this.setResizable(false);
        this.setLayout(null);
        this.setBounds(600, 200, 400, 370);
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        JPanel p1 = (JPanel)this.getContentPane();
        p1.setOpaque(false);
        p1.setLayout(null);
        InputStream is = new FileInputStream(picFile);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int b = 0;
        while((b = is.read())!=-1){
            baos.write(b);
        }
        ImageIcon image = new ImageIcon(baos.toByteArray());
        JLabel background = new JLabel(image);
        this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
        background.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());
        JButton bt = new JButton("Test_Button");
        p1.add(bt);
        bt.setBounds(10,10,150,25);
        validate();
    }
}

좋은 웹페이지 즐겨찾기