java分別通過字節流、字符流、二進制讀取文件的代碼

將做工程過程中比較好的一些內容段做個備份,下面的資料是關於 java分別通過字節流、字符流、二進制讀取文件的內容,應該是對小夥伴們有些用途。

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();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章