sunfruit[請訪問http://www.fruitres.cn]

          --我相信JAVA能走得更遠 QQ:316228067

          #

          [原創(chuàng)]基本繪圖演示源代碼,繪制矩形

              --sunfruit
              
              源代碼四個文件,在這個DEMO中可以看到
              如何使用2D組件,如何把JPanel做為畫板使用,如何使用Canvas替代JPanel,如何設置2D組件的線寬

              這個只是針對像入門的新手,高手就不需要看了,免得扔雞蛋
              

               下載地址 http://www.fruitres.cn/servlet/buyproductservlet?tag=single&tag1=info&PRODUCT_ID=1016162856&number=0
               更多工具和文檔請到 http://www.fruitres.cn/

          posted @ 2007-09-03 12:46 sunfruit 閱讀(464) | 評論 (0)編輯 收藏

          [原創(chuàng)]Oracle表結構導出為HTML工具1.0.4

              --sunfruit
          將Oracle表結構導出成Html頁面的工具

          1.0.4
          增加了導出觸發(fā)器、存儲過程、函數(shù)的功能,并且修改了不能導出KEYS全部類型的BUG

          1.0.3
          增加了導出Sequences、View的功能,并且導出界面默認導出到安裝文件夾中的export目錄中

          1.0.2
          增加了導出KEYS、INDEX的功能

          1.0.1
          增加了導出完畢以后直接點擊打開文件夾、打開文件的查看方式,并且支持Linux/Win 平臺

          1.0.0
          導出為html文件,導出完畢后直接查看index.html文件即可。導出的內容包括各個表的名稱索引和注釋以及表中各個字段的明細和注釋

          下載地址 http://www.fruitres.cn/servlet/buyproductservlet?tag=single&tag1=info&PRODUCT_ID=942025602&number=0 下載版本1.0.4
          更多工具和文檔請到 http://www.fruitres.cn/

          posted @ 2007-07-19 11:41 sunfruit 閱讀(1270) | 評論 (1)編輯 收藏

          [原創(chuàng)]通過JAVA改變圖片的像素Alpha值實現(xiàn)圖片透明

              --sunfruit

              設置圖片的每個象素Alpha,使得圖片透明,核心代碼如下

              private void setAlpha(ByteArrayOutputStream os) {
              /**
               * 增加測試項
               * 讀取圖片,繪制成半透明
               */
              try {

                ImageIcon imageIcon = new ImageIcon(os.toByteArray());
                BufferedImage bufferedImage = new BufferedImage(imageIcon.getIconWidth(),imageIcon.getIconHeight()
                    , BufferedImage.TYPE_4BYTE_ABGR);
                Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();
                g2D.drawImage(imageIcon.getImage(), 0, 0,
                                     imageIcon.getImageObserver());
                //循環(huán)每一個像素點,改變像素點的Alpha值
                int alpha = 100;
                for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage.getHeight(); j1++) {
                  for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage.getWidth(); j2++) {
                    int rgb = bufferedImage.getRGB(j2, j1);
                    rgb = ( (alpha + 1) << 24) | (rgb & 0x00ffffff);
                    bufferedImage.setRGB(j2, j1, rgb);
                  }
                }
                g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());
               
                //生成圖片為PNG

                ImageIO.write(bufferedImage, "png",  new File(圖片路徑));
              }
              catch (Exception e) {
                e.printStackTrace();
              }

            }

          posted @ 2007-05-20 00:20 sunfruit 閱讀(12116) | 評論 (0)編輯 收藏

          [原創(chuàng)]通過HttpURLConnection如何使用代理服務器連接公網(wǎng)

              --sunfruit

              在openConnection之前加上
              Properties   prop   =   System.getProperties();
              System.getProperties().put("proxySet","true");
              // 設置http訪問要使用的代理服務器的地址
              prop.setProperty("http.proxyHost","xxxxxxx");
              // 設置http訪問要使用的代理服務器的端口
              prop.setProperty("http.proxyPort","xxxxx");
             
              然后并不像有的貼子說的那樣添加
              prop.setProperty("http.proxyUser","xxxxxxxx");
              prop.setProperty("http.proxyPassword","xxxxx");
              添加這樣的內容是不行的,而是將"username:password"進行base64編碼,具體代碼如下
              String authentication = "username:password";
              String encodedLogin = new BASE64Encoder().encode(authentication.getBytes());
              httpurlconnection.setRequestProperty("Proxy-Authorization", " Basic " + encodedLogin);
             
              注意BASE64Encoder().encode(authentication.getBytes());這里不能使用BASE64Encoder().encodeBuffer(authentication.getBytes())否則報錯
              具體原因參考sun公布的JDK BUG , Bug ID:  4615330  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4615330

          posted @ 2007-03-22 10:41 sunfruit 閱讀(1786) | 評論 (0)編輯 收藏

          [原創(chuàng)]關于JAVAMAIL發(fā)送郵件正文是html格式并且顯示圖片還帶有附件的郵件的幾點說明

          ??? --sunfruit
          ??? 前一段時間發(fā)了一個“[原創(chuàng)]JAVAMAIL發(fā)送郵件正文是html格式并且顯示圖片還帶有附件的郵件”的文章,后來經(jīng)過深入的使用該功能發(fā)現(xiàn)幾個要點說明如下:
          ????第一:正文必須第一個添加到Multipart對象中
          ??? 第二:IMGX? X是序號,該序號必須從1開始,并且只能為數(shù)字
          ??? 以上兩點缺少一點都不會成功
          ??? 另:ByteArrayDataSource? 這個類在舊的javamail開發(fā)包中沒有,需要新的javamail開發(fā)包

          posted @ 2006-11-09 11:06 sunfruit 閱讀(1492) | 評論 (1)編輯 收藏

          [資料]WEB開發(fā)利器--JAVASCRIPT API文檔 HTML API 文檔

          ??? --sunfruit
          ??? 有三個壓縮包需要下載,下載以后放在同一個目錄中解壓即可
          ???? 下載包1
          ???? 下載包2
          ???? 下載包3

          posted @ 2006-10-31 16:37 sunfruit 閱讀(15754) | 評論 (29)編輯 收藏

          [原創(chuàng)]JAVAMAIL發(fā)送郵件正文是html格式并且顯示圖片還帶有附件的郵件

          ??? --sunfruit
          ???沒有什么說的,源代碼如下
          public void sendMail(int id) {
          ??????? //數(shù)據(jù)初始化
          ??????? Transport transport; //發(fā)郵件時使用
          ??????? String part = GetResource.getXMLValue("mail_port"); //端口
          ??????? String mailhost = GetResource.getXMLValue("mail_server"); //服務器
          ??????? String user = GetResource.getXMLValue("mail_user"); //用戶名
          ??????? String password = GetResource.getXMLValue("mail_password"); //密碼
          ??????? String from = GetResource.getXMLValue("mail_from"); //發(fā)件mail
          ??????? String strname = GetResource.getXMLValue("mail_strname"); //在地址欄上顯示的名字

          ??????? String to = GetResource.getXMLValue("mail_to"); //收件人
          ??????? String cc = ""; //抄送人
          ??????? String bcc = ""; //密送人
          ??????? String title = GetResource.getXMLValue("mail_title"); //標題
          ??????? byte[] bytes = null;
          ??????? try {
          ??????????? bytes = FileIO.readFile(GetResource.getXMLValue("mail_contentpath")); //正文
          ??????? } catch (IOException ex) {
          ??????????? log.error("",ex);
          ??????? }
          ??????? String fromat = GetResource.getXMLValue("mail_fromat");

          ??????? //獲得下載需要的key
          ??????? byte[] bkeydes=null;
          ??????? try {
          ??????????? bkeydes=FileIO.readFile(GetResource.getXMLValue("附件地址"));
          ??????? } catch (IOException ex) {
          ??????????? log.error("",ex);
          ??????? }

          ??????? try {
          ??????????? Properties props = System.getProperties(); //獲得系統(tǒng)屬性
          ??????????? props.put("mail.smtp.host", mailhost); //設置SMTP主機
          ??????????? props.put("mail.smtp.auth", "true"); //設置身份驗證為真,若須身份驗證則必須設為真

          ??????????? //獲得郵件會話對象
          ??????????? Session session = null;

          ??????????? //需要驗證
          ??????????? session = Session.getDefaultInstance(props,
          ???????????????????????????????????????????????? new SmtpAuthenticator(user,
          ??????????????????? password));

          ??????????? //創(chuàng)建MIME郵件對象
          ??????????? MimeMessage mimeMsg = new MimeMessage(session);
          ??????????? //設置發(fā)信人
          ??????????? if (strname != null && !strname.equals("")) {
          ??????????????? mimeMsg.setFrom(new InternetAddress(from, strname));
          ??????????? } else {
          ??????????????? mimeMsg.setFrom(new InternetAddress(from));
          ??????????? }
          ??????????? //設置收信人
          ??????????? if (!to.equals("")) {
          ??????????????? mimeMsg.setRecipients(Message.RecipientType.TO,
          ????????????????????????????????????? InternetAddress.parse(to));
          ??????????? }
          ??????????? //設置抄送人
          ??????????? if (!cc.equals("")) {
          ??????????????? mimeMsg.setRecipients(Message.RecipientType.CC,
          ????????????????????????????????????? InternetAddress.parse(cc));
          ??????????? }
          ??????????? //設置暗送人
          ??????????? if (!bcc.equals("")) {
          ??????????????? mimeMsg.setRecipients(Message.RecipientType.BCC,
          ????????????????????????????????????? InternetAddress.parse(bcc));
          ??????????? }
          ??????????? //設置郵件主題
          ??????????? sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
          //??????????? mimeMsg.setSubject("=?GB2312?B?" + enc.encode(title.getBytes()) +
          //?????????????????????????????? "?=");
          ??????????? mimeMsg.setSubject(title, "GBK");
          ??????????? //設置郵件內容
          ??????????? //mimeMsg.setText(content, "gb2312");
          ??????????? //發(fā)送日期
          ??????????? mimeMsg.setSentDate(new Date());
          ??????????? /*******************附件 begin××××××××××××××××××××××××*/
          ??????????? BodyPart mbp = null; //正文
          ??????????? //MimeBodyPart mbp1 = null; //附件

          ??????????? mbp = new MimeBodyPart();
          ??????????? //設置郵件正文格式(html/text)
          ??????????? if (fromat.equals("0") || fromat.equals("")) {
          ??????????????? //普通格式
          ??????????????? mbp.setText(new String(bytes,"GBK"));
          ??????????? } else {
          ??????????????? //網(wǎng)頁格式
          ??????????????? mbp.setDataHandler(new DataHandler(new String(bytes,"GBK"),
          ??????????????????????? "text/html;charset=gb2312"));
          ??????????? }
          ??????????? //!!!!注意必須為new MimeMultipart("related"); 這樣的實例化才能發(fā)送html正文顯示圖片的郵件 "related"
          ??????????? //new MimeMultipart(); 這樣實例化則不能發(fā)送html正文顯示圖片的郵件 只可以發(fā)送其他的郵件
          ??????????? Multipart mp = new MimeMultipart("related");
          ??????????? if (mbp != null)
          ??????????????? mp.addBodyPart(mbp); //正文

          ??????????? //附件key.des
          ??????????? BodyPart messageBodyPart = new MimeBodyPart();
          ??????????? ByteArrayDataSource fileds = new ByteArrayDataSource(bkeydes,"application/octet-stream");
          ??????????? messageBodyPart.setDataHandler(new DataHandler(fileds));
          ??????????? //解決附件中文問題
          ??????????? //mbp1.setFileName(fileds.getName(),"gb2312");
          ??????????? messageBodyPart.setFileName(MimeUtility.encodeWord("key.des", "GB2312", null));
          ??????????? mp.addBodyPart(messageBodyPart);

          ??????????? //附件 圖標
          ??????????? messageBodyPart = new MimeBodyPart();
          ??????????? bytes=FileIO.readFile(GetResource.getXMLValue("img_logo"));
          ??????????? fileds = new ByteArrayDataSource(bytes,"application/octet-stream");
          ??????????? messageBodyPart.setDataHandler(new DataHandler(fileds));
          ??????????? //解決附件中文問題
          //??????????? messageBodyPart.setFileName("fruitrsource_touming.jpg");
          //??????????? messageBodyPart.setHeader("Content-ID", "fruitrsource_touming");
          ??????????? messageBodyPart.setFileName("1.jpg");
          ??????????? //!!!!注意這里是"<IMG1>" 帶有尖括號 而在正文的html里面則是src="cid:IMG1"
          ??????????? messageBodyPart.setHeader("Content-ID", "<IMG1>");
          ??????????? mp.addBodyPart(messageBodyPart);

          ??????????? // 添加 Multipart到Message中
          ??????????? mimeMsg.setContent(mp);
          ??????????? mimeMsg.saveChanges();
          ??????????? transport = session.getTransport("smtp");
          ??????????? transport.connect(mailhost, Integer.parseInt(part), user, password);
          ??????????? //發(fā)送郵件
          ??????????? //transport.send(mimeMsg, mimeMsg.getAllRecipients());
          ??????????? //transport.send(mimeMsg);
          ??????????? transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());
          ??????????? //System.out.println("mail send!");
          ??????????? transport.close();

          ??????? }

          ??????? catch (Exception e) {
          ??????????? e.printStackTrace();

          ??????? }
          ??? }

          class SmtpAuthenticator extends Authenticator {
          ??????? //SMTP身份驗證
          ??????? public SmtpAuthenticator(String username, String password) {
          ??????????? this.username = username;
          ??????????? this.password = password;
          ??????? }

          ??????? public PasswordAuthentication getPasswordAuthentication() {
          ??????????? return new PasswordAuthentication(this.username, this.password);
          ??????? }

          ??????? String username = null;
          ??????? String password = null;
          ??? }

          posted @ 2006-10-24 23:04 sunfruit 閱讀(10914) | 評論 (5)編輯 收藏

          [原創(chuàng)]利用圖片的像素RGB值還原圖像的JAVA應用

              --sunfruit
              JAVA編寫的使用像素RGB值還原圖像的方法,代碼如下
              public class ImageData {

              private int[][] idata=null;

              public ImageData() {
                  readImageData();
                  writeImageData();
              }

              private int[][] readImageData()
              {
                  try {
                      //imagedata的鍵值就是一個存儲了圖像像素RGB值得文本文件
                      RandomAccessFile randomAccessFile = new RandomAccessFile(new File(GetResource.getXMLValue("imagedata")),"r");
                      long filesize=randomAccessFile.length();
                      long filepointer=0;
                      DynArrayInt dynArrayInt=null;
                      ArrayList arrayList=new ArrayList();
                      int n1=0;
                      while(filesize>filepointer)
                      {
                          filepointer=randomAccessFile.getFilePointer();

                          String str1=randomAccessFile.readLine();
                          if(str1!=null)
                          {
                              String[] str2=str1.split(" ");
                              String[] str3=str2[1].split(",");
                              dynArrayInt=new DynArrayInt();
                              for(int i=0;i<str3.length;i++)
                              {
                                  if(!str3[i].equals(""))
                                  {
                                      int pix = Integer.parseInt(str3[i], 16);
                                      dynArrayInt.addInt(pix);
                                  }
                              }
                              if(n1==0)
                                  n1=dynArrayInt.getSize();
                              arrayList.add(dynArrayInt);
                          }
                      }

                      idata=new int[arrayList.size()][dynArrayInt.getSize()];
                      for(int i=0;i<idata.length;i++)
                      {
                           DynArrayInt dynArrayInt1=(DynArrayInt)arrayList.get(i);
                          for(int j=0;j<idata[i].length;j++)
                          {
                              idata[i][j]=dynArrayInt1.getInt(j);
                          }
                      }

                  } catch (Exception ex) {
                      ex.printStackTrace();
                  }
                  return idata;
              }

              private void writeImageData()
              {
                  BufferedImage bufferedImage=new BufferedImage(idata[0].length,idata.length,BufferedImage.TYPE_INT_RGB);
                  for(int i=0;i<idata.length;i++)
                  {

                      for(int j=0;j<idata[i].length;j++)
                      {
                          bufferedImage.setRGB(j,i,idata[i][j]);
                      }
                  }
                  Random random=new Random(System.currentTimeMillis());
                  String ext="jpg";
                  String filepath = System.getProperty("java.io.tmpdir") + random.nextInt(99999) + "." + ext;
                  try {
                      ImageIO.write(bufferedImage, ext,  new File(filepath));
                      System.out.println("文件已經(jīng)生成,路經(jīng)為" + filepath);
                  }
                  catch (IOException ex) {
                      ex.printStackTrace();
                  }

              }

              public static void main(String[] args) {
                  ImageData imagedata = new ImageData();
              }
          }

          其中的“GetResource”,“DynArrayInt”為自定義類,GetResource得功能就是解析獲取properties文件的內容,DynArrayInt是一個整形動態(tài)數(shù)組,可以在以前的文章里獲得“DynArrayInt”的源代碼,所謂的圖像的像素值就是如下數(shù)據(jù)
          px1 44525b,44555d,475a61,47585d,44555a,46575c,44575d,43565c,42575e,43585f,445960,435962,435964,425861,425861,41585e,3f555e,3e545f,3d5261,3c5162,3d4f59,3d4f59,3f515b,40525c,40525c,40525c,40525c,3f515b,3f515b,3f4f5a,3f4f5c,40505d,3f515f,3f515f,3d5060,3c4f5f,3b505f,3a4e58,3e525e,3e525e,3d5060,415466,3f5264,405363,405460,41555f,42575d,42575e,43585f,445862,445862,445864,445864,445866,445866,415760,435962,445a63,455b66,455b66,445a67,455b68,485d6c,4c626f,4d636e,4e646f,4d636c,4b616a,51686e,536a70,566d73,5c7378,6f7c7a,7c8987,86908f,8d9796,8e9696,949a9a,969c9c,9ca2a2,a1a3a1,a8aaa8,aeb1ac,b2b5b0,b9bcb7,c5c8c2,cccfc9,ced1c9,d6d9d1,d5d8d3,d7dad5,dadbd5,dcddd7,dcdbd4,ddddd3,e0ddd4,e0ddd4,deddd6,deddd6,deddd6,dfded7,dfded7,e0dfd8,e0dfd8,e0dfd8,e0dfd8,e3dfd9,e3dfd9,e3dfd9,e3dfd9,e4e0da,e4e0da,e4e0da,e5e1db,e5e1db,e2e1da,e2e1da,e3e2db,e3e2db,e4e3dc,e4e3dc,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e6e5de,e6e5de,e6e5de,e6e5de,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e4e1d8,e5e2d9,e5e2d9,e4e1d8,e2dfd6,e3e0d7,e2dfd6,e1ded5,e1ded5,e2dfd6,e2dfd6,e2dfd6,e2dfd6,e1ded5,e1ded5,e1ded5,e1ded5,e1ded5,dedad4,dedad4,dcdbd4,dcdbd4,dbdcd4,dbdcd4,d9dcd4,d9dcd4,dedad4,dedad4,ddd9d3,ddd9d3,dbd7d1,dbd7d1,dcd8d2,dcd8d2,dbd7d1,d5d8d0,d5d8d0,d7d8d0,d7d8d0,d7d6cf,d9d5cf,d9d5cf,d9d5cf,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d5d4cd,d5d4cd,d5d7cc,d5d7cc,d5d7cc,d5d7cc,d4d6cb,d4d6cb,d5d7cc,d5d7cc,d5d7cc,d2d7d0,d2d7d0,d3d6d0,d3d6d0,d4d5cf,d4d5cf,d5d4cf,d5d4cf,d5d4cf,d5d4cf,d5d4cf,d5d4cf,d4d3ce,d4d3ce,d4d3ce,d4d3ce,d4d3ce,d0d3cb,d2d3cb,d3d2cb,d6d0cb,d6d0cb,d4d3cc,d3d4cc,d2d5cd,d3d2ce,d3d2ce,d3d2ce,d3d2ce,d3d2ce,d3d2ce,d3d2ce,d3d2ce,d3d2ce,d0d3cb,d0d3cb,d2d3cb,d2d3cb,d3d2cb,d3d2cb,d5d1cb,d5d1cb,d2d1cc,d2d1cc,d2d1cc,d2d1cc,d2d1cc,d2d1cc,d2d1cc,d2d1cc,d2d1cc,d1d0c9,d1d0c9,d2d1ca,d2d1ca,d3d2cb,d3d2cb,d3d2cb,d3d2cb
          px0 44525b,44575e,465b62,485a5a,455757,46585a,44575b,42555b,41565d,435761,445862,445a63,435966,435964,42595f,42595e,40575c,3f5560,3d5263,3c5066,3a4c58,3b4d59,3d4f5b,3e505a,40525c,40525c,40535a,3f5259,3f5259,3f5057,3f5057,405158,3f5259,3f5259,3d515b,3c505a,3b515c,3a4e5a,3e5260,3e5260,3d5060,415468,3f5266,3f5262,405462,405460,42575d,42575e,43585f,435761,41555f,425662,445864,465a68,465a68,415760,425861,445a63,445a65,445a65,465c69,475d6a,475c6b,44596a,485d6e,4c6373,4d6474,4a616f,4b6472,4b6472,496270,4c6573,5f6c6e,677476,6f7c7e,798587,818a8d,899295,8f969a,91989c,949895,9a9e9b,9ea39d,a1a6a0,a9aea8,aeb3ac,babfb8,c0c5bc,ccd1c8,cfd2cd,d2d5d0,d5d6d0,d7d8d2,dcdbd4,ddddd3,e0ddd4,e0ddd4,deddd6,deddd6,deddd6,dfded7,dfded7,e0dfd8,e0dfd8,e0dfd8,e0dfd8,e3dfd9,e3dfd9,e3dfd9,e3dfd9,e4e0da,e4e0da,e4e0da,e5e1db,e5e1db,e2e1da,e2e1da,e3e2db,e3e2db,e4e3dc,e4e3dc,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e6e5de,e6e5de,e6e5de,e6e5de,e5e4dd,e5e4dd,e5e4dd,e5e4dd,e4e1d8,e4e1d8,e4e1d8,e3e0d7,e2dfd6,e2dfd6,e2dfd6,e1ded5,e1ded5,e2dfd6,e2dfd6,e2dfd6,e2dfd6,e1ded5,e1ded5,e1ded5,e1ded5,e1ded5,ddd9d3,ddd9d3,dbdad3,dbdad3,dadbd3,dadbd3,d8dbd3,d8dbd3,dedad4,dedad4,ddd9d3,ddd9d3,dad6d0,dbd7d1,dcd8d2,dcd8d2,dbd7d1,d5d8d0,d5d8d0,d5d8d0,d7d8d0,d6d7cf,d7d6cf,d7d6cf,d9d5cf,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d6d5ce,d5d4cd,d5d4cd,d6d8cd,d6d8cd,d6d8cd,d6d8cd,d4d6cb,d4d6cb,d5d7cc,d5d7cc,d5d7cc,d3d8d1,d3d8d1,d4d7d1,d4d7d1,d4d5cf,d4d5cf,d5d4cf,d5d4cf,d5d4cf,d5d4cf,d5d4cf,d5d4cf,d4d3ce,d4d3ce,d4d3ce,d4d3ce,d4d3ce,d0d3cb,d2d3cb,d3d2cb,d6d0cb,d7d1cc,d4d3cc,d4d5cd,d2d5cd,d4d2d1,d4d2d1,d4d2d1,d4d2d1,d4d2d1,d3d1d0,d3d1d0,d3d1d0,d3d1d0,d0d3cb,d0d3cb,d2d3cb,d2d3cb,d3d2cb,d3d2cb,d5d1cb,d5d1cb,d3d2cd,d3d2cd,d3d2cd,d3d2cd,d3d2cd,d2d1cc,d2d1cc,d2d1cc,d2d1cc,d1d0c9,d1d0c9,d2d1ca,d2d1ca,d4d3cc,d4d3cc,d4d3cc,d4d3cc
          以上數(shù)據(jù)表示圖像有兩行像素,每一行有260個像素組成,每個像素的RGB值就是44525b

          posted @ 2006-10-23 21:28 sunfruit 閱讀(1937) | 評論 (2)編輯 收藏

          [原創(chuàng)]圖論應用--最短路徑

              --sunfruit

          求上圖1點到其他各點的最短路徑,依據(jù)圖論知識建立矩陣模型,進一步得到代碼如下

          public class ShortPathA {

            private static int[][]
                a = {
                {0, 50, 10, 100000, 45, 100000}, {100000, 0, 15, 100000, 10, 100000}, {20, 100000, 0, 15, 100000, 100000}, {
                100000, 20, 100000, 0, 35, 100000}, {100000, 100000, 1000000, 30, 0, 100000}, {100000, 100000, 100000, 3, 100000, 0}
            };

            private static boolean[] mark = new boolean[a.length];
            public ShortPathA() {
              int Vo = 0; //源點
              //源點到其他各點的距離
              int[] b = new int[a.length];
              DynArrayInt S = new DynArrayInt();
              for (int i = 0; i < a.length; i++) {
                mark[i] = false;
                //b[i] = a[Vo][i];
              }
              int best = -1;
              mark[0] = true;
              b[0] = 0; //{0為源點}
              while (best != 0) {
                best = 0;
                int best_j = 0;
                for (int i = 0; i < b.length; i++)
                {
                  if (mark[i]) //{對每一個已計算出最短路徑的點}
                  {
                    for (int j = 0; j < b.length; j++) {
                      if ( (!mark[j]) && (a[i][j] > 0)) {
                        if ( (best == 0) || (b[i] + a[i][j] < best)) {
                          best = b[i] + a[i][j];
                          best_j = j;
                        }
                      }
                    }
                  }
                }
                if (best > 0) {
                  b[best_j] = best;
                  mark[best_j] = true;
                }

              }
              System.out.println(java.util.Arrays.toString(b));
            }

            public static void main(String[] args) {
              ShortPathA shortpath = new ShortPathA();
            }

          }

          posted @ 2006-10-23 21:17 sunfruit 閱讀(1698) | 評論 (0)編輯 收藏

          用URLConnection或是HttpURLConnection類以POST或是GET方式提交保持Session的解決辦法

              --sunfruit
              當通過URLConnection第一次和服務器發(fā)起POST或是GET請求以后,通過getHeaderField方法獲得SessionID,具體方法為:
              String session_value=getHeaderField("Set-Cookie");
              第二次發(fā)起POST或是GET請求的時候需要把剛才獲得的SessionID放置在請求的頭部然后再提交,這樣就能服務器就會認為是同一個Session請求了,具體方法為:
              setRequestProperty("Cookie", session_value);

              如果取得Set-Cookie的值比較長,取值到分號前即可 如 JSESSIONID=575F7196EDB52825D288F4061C66BC29;
              
              這樣就實現(xiàn)了保存session向服務器提交請求

          posted @ 2006-09-01 14:21 sunfruit 閱讀(3278) | 評論 (0)編輯 收藏

          僅列出標題
          共11頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
          主站蜘蛛池模板: 虎林市| 湛江市| 府谷县| 南宫市| 木里| 仲巴县| 建昌县| 城固县| 朝阳县| 安庆市| 茌平县| 邵阳市| 浦北县| 忻城县| 得荣县| 耒阳市| 新丰县| 当阳市| 白河县| 唐河县| 砀山县| 木兰县| 霍城县| 东源县| 宜昌市| 玉田县| 新龙县| 凤城市| 本溪| 桑植县| 金秀| 定远县| 泌阳县| 博乐市| 康保县| 宿迁市| 福清市| 清镇市| 蓝田县| 西安市| 宜宾市|