package zl.study.designpattern.bridge;
目前創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計、乳源網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
/**
* 大型顯示設(shè)備,eg.分辨率 1600 * 900 還是小寬屏
* @author peter
*
*/
public class BigWindowImp implements WindowImp{
@Override
public void deviceBitmap(String path, Point origin, Point end) {
System.out.println("big"+ path);
}
實現(xiàn)思路:無論是何種類型,都是轉(zhuǎn)換為流的形式進(jìn)行的文件傳輸和存儲。
可以通過BufferedReader 流的形式進(jìn)行流緩存,之后通過readLine方法獲取到緩存的內(nèi)容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定義一個流
try {
String file = "D:/test/test.GIF";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.GIF”),"GBK");//確認(rèn)流的輸出文件和編碼格式,此過程創(chuàng)建了“test.GIF”實例
while ((str = bre.readLine())!= null) // 判斷最后一行不存在,為空結(jié)束循環(huán)
{
pw.write(str);//將要寫入文件的內(nèi)容,可以多次write
};
bre.close();
pw.close();//關(guān)閉流
備注:文件流用完之后必須及時通過close方法關(guān)閉,否則會一直處于打開狀態(tài),直至程序停止,增加系統(tǒng)負(fù)擔(dān)。
試了一下,從網(wǎng)上找了個GIF
可以用啊
--------------------------------------------------------------------------------------------
import?java.awt.Graphics;
import?javax.swing.ImageIcon;
import?javax.swing.JFrame;
import?javax.swing.JPanel;
public?class?ImageApp?extends?JFrame?{
public?ImageApp()?{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400,?300);
setResizable(false);
getContentPane().setLayout(null);
JPanel?panel?=?new?ImagePanel();
panel.setBounds(0,?0,?400,?300);
getContentPane().add(panel);
setVisible(true);
}
public?static?void?main(String[]?args)?{
new?ImageApp();
}
class?ImagePanel?extends?JPanel?{
public?void?paint(Graphics?g)?{
super.paint(g);
//?ImageIcon?icon?=?new?ImageIcon("D:\\1.jpg");
ImageIcon?icon?=?new?ImageIcon("D:\\14405937jqhjsppeninjf9.gif");
g.drawImage(icon.getImage(),?0,?0,?400,?300,?this);
}
}
}