??xml version="1.0" encoding="utf-8" standalone="yes"?>国产在线观看一区二区,欧美一级艳片视频免费观看,日韩av影视综合网http://www.aygfsteel.com/ltc603/category/14133.html<font size="3">学无止境</font> <br> <script type="text/javascript" src="http://wujunlove.googlepages.com/bigstaticeyes.js"></script>zh-cnWed, 28 Feb 2007 03:46:09 GMTWed, 28 Feb 2007 03:46:09 GMT60htmlparser例子http://www.aygfsteel.com/ltc603/archive/2006/09/15/69811.html阿成阿成Fri, 15 Sep 2006 02:04:00 GMThttp://www.aygfsteel.com/ltc603/archive/2006/09/15/69811.htmlhttp://www.aygfsteel.com/ltc603/comments/69811.htmlhttp://www.aygfsteel.com/ltc603/archive/2006/09/15/69811.html#Feedback0http://www.aygfsteel.com/ltc603/comments/commentRss/69811.htmlhttp://www.aygfsteel.com/ltc603/services/trackbacks/69811.html import  org.htmlparser.Node;
import  org.htmlparser.NodeFilter;
import  org.htmlparser.Parser;
import  org.htmlparser.filters.TagNameFilter;
import  org.htmlparser.tags.TableTag;
import  org.htmlparser.util.NodeList;

/**
 * <br>
 * 标题: <br>
 * 功能概要: <br>
 * 版权: cityyouth.cn (c) 2005 <br>
 * 公司:上v城市青年|?lt;br>
 * 创徏旉:2005-12-21 <br>
 * 修改旉: <br>
 * 修改原因Q?br /> * 
 * 
@author  张伟
 * 
@version  1.0
 
*/
public   class  TestYahoo {
    
public   static   void  testHtml() {
        
try  {
            String sCurrentLine;
            String sTotalString;
            sCurrentLine 
=   "" ;
            sTotalString 
=   "" ;
            java.io.InputStream l_urlStream;
            java.net.URL l_url 
=   new  java.net.URL(
                    
" http://sports.sina.com.cn/iframe/nba/live/ " );
            java.net.HttpURLConnection l_connection 
=  (java.net.HttpURLConnection) l_url
                    .openConnection();
            l_connection.connect();
            l_urlStream 
=  l_connection.getInputStream();
            java.io.BufferedReader l_reader 
=   new  java.io.BufferedReader(
                    
new  java.io.InputStreamReader(l_urlStream));
            
while  ((sCurrentLine  =  l_reader.readLine())  !=   null ) {
                sTotalString 
+=  sCurrentLine;
            }
            System.out.println(sTotalString);

            System.out.println(
" ==================== " );
            String testText 
=  extractText(sTotalString);
            System.out.println(testText);
        } 
catch  (Exception e) {
            e.printStackTrace();
        }

    }

    
/**
     * 抽取U文本信?br />     * 
     * 
@param  inputHtml
     * 
@return
     
*/
    
public   static  String extractText(String inputHtml)  throws  Exception {
        StringBuffer text 
=   new  StringBuffer();

        Parser parser 
=  Parser.createParser( new  String(inputHtml.getBytes(),
                
" 8859_1 " ),  " 8859-1 " );
        
//  遍历所有的节点
        NodeList nodes  =  parser.extractAllNodesThatMatch( new  NodeFilter() {
            
public   boolean  accept(Node node) {
                
return   true ;
            }
        });
        Node node 
=  nodes.elementAt( 0 );
        text.append(
new  String(node.toPlainTextString().getBytes( " 8859_1 " )));
        
return  text.toString();
    }

    
/**
     * d文g的方式来分析内容. filePath也可以是一个Url.
     * 
     * 
@param  resource
     *            文g/Url
     
*/
    
public   static   void  test5(String resource)  throws  Exception {
        Parser myParser 
=   new  Parser(resource);

        
//  讄~码
        myParser.setEncoding( " GBK " );
        String filterStr 
=   " table " ;
        NodeFilter filter 
=   new  TagNameFilter(filterStr);
        NodeList nodeList 
=  myParser.extractAllNodesThatMatch(filter);
        TableTag tabletag 
=  (TableTag) nodeList.elementAt( 11 );
            
            System.out.println(tabletag.toHtml());
            
            System.out.println(
" ============== " );

    }

    
/*
     * public static void main(String[] args) { TestYahoo testYahoo = new
     * TestYahoo(); testYahoo.testHtml(); }
     
*/
    
public   static   void  main(String[] args)  throws  Exception {
        test5(
" http://sports.yahoo.com/nba/scoreboard " );
    }
}


阿成 2006-09-15 10:04 发表评论
]]>
Log4j基本使用Ҏhttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63987.html阿成阿成Wed, 16 Aug 2006 12:02:00 GMThttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63987.htmlhttp://www.aygfsteel.com/ltc603/comments/63987.htmlhttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63987.html#Feedback0http://www.aygfsteel.com/ltc603/comments/commentRss/63987.htmlhttp://www.aygfsteel.com/ltc603/services/trackbacks/63987.htmlLog4j基本使用Ҏ
(?a >http://blogger.org.cn/blog/more.asp?name=dashee&id=6431)
  Log4j׃个重要的lg构成Q日志信息的优先U,日志信息的输出目的地Q日志信息的输出格式。日志信息的优先U从高到低有ERROR、WARN? INFO、DEBUGQ分别用来指定这条日志信息的重要E度Q日志信息的输出目的地指定了日志打印到控制台还是文件中Q而输出格式则控制了日志信息的昄内容?br />
  一、定义配|文?br />
  其实您也可以完全不用配|文Ӟ而是在代码中配置Log4j环境。但是,使用配置文g您的应用E序更加灉|。Log4j支持两种配置文g格式Q一U是XML格式的文Ӟ一U是JavaҎ文Ӟ?|。下面我们介l用JavaҎ文件做为配|文件的ҎQ?br />
  1.配置根LoggerQ其语法为:

  log4j.rootLogger = [ level ] , appenderName, appenderName, ?br />
  其中Qlevel 是日志记录的优先U,分ؓOFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的别。Log4j只用四个别,优先U从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的U别Q您可以控制到应用程序中相应U别的日志信息的开兟뀂比如在q里定义了INFOU别Q则应用E序中所有DEBUGU别的日志信息将不被打印出来? appenderName是指B日志信息输出到哪个地斏V您可以同时指定多个输出目的地?br />
  2.配置日志信息输出目的地AppenderQ其语法为:

  log4j.appender.appenderName = fully.qualified.name.of.appender.class
  log4j.appender.appenderName.option1 = value1
  ?br />  log4j.appender.appenderName.option = valueN

  其中QLog4j提供的appender有以下几U:
  org.apache.log4j.ConsoleAppenderQ控制台Q,
  org.apache.log4j.FileAppenderQ文ӞQ?br />  org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文ӞQ?br />  org.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生一个新的文ӞQ?br />  org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地方)

  3.配置日志信息的格式(布局Q,其语法ؓQ?br />
  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
  log4j.appender.appenderName.layout.option1 = value1
  ?br />  log4j.appender.appenderName.layout.option = valueN

  其中QLog4j提供的layout有以e几种Q?br />  org.apache.log4j.HTMLLayoutQ以HTML表格形式布局Q,
  org.apache.log4j.PatternLayoutQ可以灵zd指定布局模式Q,
  org.apache.log4j.SimpleLayoutQ包含日志信息的U别和信息字W串Q,
  org.apache.log4j.TTCCLayoutQ包含日志生的旉、线E、类别等{信息)

  Log4J采用cMC语言中的printf函数的打印格式格式化日志信息Q打印参数如下: %m 输出代码中指定的消息

  %p 输出优先U,即DEBUGQINFOQWARNQERRORQFATAL
  %r 输出自应用启动到输出该log信息耗费的毫U数
  %c 输出所属的cȝQ通常是所在类的全?br />  %t 输出产生该日志事件的U程?br />  %n 输出一个回车换行符QWindowsq_为“\r\n”,Unixq_为“\n?br />  %d 输出日志旉点的日期或时_默认格式为ISO8601Q也可以在其后指定格式,比如Q?d{yyy MMM dd HH:mm:ss,SSS}Q输出类|2002q?0?8?22Q?0Q?8Q?21
  %l 输出日志事g的发生位|,包括cȝ名、发生的U程Q以及在代码中的行数。D例:Testlog4.main(TestLog4.java:10)

  二、在代码中用Log4j

  1.得到记录?br />
  使用Log4jQ第一步就是获取日志记录器Q这个记录器负责控制日志信息。其语法为:

  public static Logger getLogger( String name)

  通过指定的名字获得记录器Q如果必要的话,则ؓq个名字创徏一个新的记录器。Name一般取本类的名字,比如Q?br />
  static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )

  2.d配置文g

  当获得了日志记录器之后,W二步将配置Log4j环境Q其语法为:

  BasicConfigurator.configure ()Q?自动快速地使用~省Log4j环境?br />  PropertyConfigurator.configure ( String configFilename) Q读取用Java的特性文件编写的配置文g?br />  DOMConfigurator.configure ( String filename ) Q读取XML形式的配|文件?br />
  3.插入记录信息Q格式化日志信息Q?br />
  当上两个必要步骤执行完毕Q您可以轻村֜使用不同优先U别的日志记录语句插入到您想记录日志的Q何地方,其语法如下:

  Logger.debug ( Object message ) ;
  Logger.info ( Object message ) ;
  Logger.warn ( Object message ) ;
  Logger.error ( Object message ) ;



阿成 2006-08-16 20:02 发表评论
]]>
JfreeChart学习ȝhttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63834.html阿成阿成Wed, 16 Aug 2006 02:44:00 GMThttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63834.htmlhttp://www.aygfsteel.com/ltc603/comments/63834.htmlhttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63834.html#Feedback0http://www.aygfsteel.com/ltc603/comments/commentRss/63834.htmlhttp://www.aygfsteel.com/ltc603/services/trackbacks/63834.html阅读全文

阿成 2006-08-16 10:44 发表评论
]]>
使用POI向Excel中插入图片实?/title><link>http://www.aygfsteel.com/ltc603/archive/2006/08/16/63805.html</link><dc:creator>阿成</dc:creator><author>阿成</author><pubDate>Wed, 16 Aug 2006 01:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/ltc603/archive/2006/08/16/63805.html</guid><wfw:comment>http://www.aygfsteel.com/ltc603/comments/63805.html</wfw:comment><comments>http://www.aygfsteel.com/ltc603/archive/2006/08/16/63805.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/ltc603/comments/commentRss/63805.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/ltc603/services/trackbacks/63805.html</trackback:ping><description><![CDATA[前面已经讲过利用POIdExcelQ下面是一个用POI向Excel中插入图片的例子?br /><br /><span id="wmqeeuq" class="postbody">官方文档Q? <br /> Images are part of the drawing support. To add an image just call createPicture() on the drawing patriarch. At the time of writing the following types are supported: <br /> PNG <br /> JPG <br /> DIB <br /> It is not currently possible to read existing images and it should be noted that any existing drawings may be erased once you add a image to a sheet. <br /><br /> // Create the drawing patriarch. This is the top level container for <br /> // all shapes. This will clear out any existing shapes for that sheet. </span><br /><br /><span id="wmqeeuq" class="postbody">通过HSSFPatriarchccreatePictureҎ的在指定的wb中的sheet创徏囄,它接受二个参敎ͼW一个是HSSFClientAnchorQ设定图片的大小?br /><br /></span>package com.poi.hssf.test;<br /><br />import java.io.FileOutputStream;<br />import java.io.File;<br />import java.io.ByteArrayOutputStream;<br />import java.io.IOException;<br /><br />import java.awt.image.BufferedImage;<br />import javax.imageio.*;<br /><br />import org.apache.poi.hssf.usermodel.HSSFWorkbook;<br />import org.apache.poi.hssf.usermodel.HSSFSheet;<br />import org.apache.poi.hssf.usermodel.HSSFPatriarch;<br />import org.apache.poi.hssf.usermodel.HSSFClientAnchor;;<br /><br />public class TestPOI { <br /><br />    public static void main(String[] args) { <br />            FileOutputStream fileOut = null; <br />            BufferedImage bufferImg =null; <br />            BufferedImage bufferImg1 = null; <br />            try{ <br />                <br />          //先把读进来的囄攑ֈ一个ByteArrayOutputStream中,以便产生ByteArray <br />          ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); <br />          ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream(); <br />          bufferImg = ImageIO.read(new File("d:/PieChart.jpg")); <br />          bufferImg1 = ImageIO.read(new File("d:/fruitBarChart.jpg")); <br />          ImageIO.write(bufferImg,"jpg",byteArrayOut); <br />          ImageIO.write(bufferImg1,"jpg",byteArrayOut1); <br />          <br />        //创徏一个工作薄 <br />        HSSFWorkbook wb = new HSSFWorkbook(); <br />        HSSFSheet sheet1 = wb.createSheet("new sheet"); <br />        //HSSFRow row = sheet1.createRow(2); <br />        HSSFPatriarch patriarch = sheet1.createDrawingPatriarch(); <br />        HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20); <br />        HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,512,255,(short) 2,30,(short)10,60); <br />        anchor1.setAnchorType(2);<br />        //插入囄<br />        patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG)); <br />        patriarch.createPicture(anchor1 , wb.addPicture(byteArrayOut1.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG)); <br />        <br />            fileOut = new FileOutputStream("d:/workbook.xls"); <br />            //写入excel文g<br />            wb.write(fileOut); <br />            fileOut.close(); <br />        <br />            }catch(IOException io){ <br />                    io.printStackTrace(); <br />                    System.out.println("io erorr :  "+ io.getMessage()); <br />            } finally <br />            { <br />                if (fileOut != null) <br />                {<br />                           <br />                    try { <br />                              fileOut.close(); <br />                         } <br />                    catch (IOException e)<br />                    { <br />                            // TODO Auto-generated catch block <br />                            e.printStackTrace(); <br />                     } <br />                } <br />            }<br />    }<br />}<br /><br /><img src ="http://www.aygfsteel.com/ltc603/aggbug/63805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/ltc603/" target="_blank">阿成</a> 2006-08-16 09:09 <a href="http://www.aygfsteel.com/ltc603/archive/2006/08/16/63805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用POI HSSF操作Excelȝhttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63804.html阿成阿成Wed, 16 Aug 2006 01:00:00 GMThttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63804.htmlhttp://www.aygfsteel.com/ltc603/comments/63804.htmlhttp://www.aygfsteel.com/ltc603/archive/2006/08/16/63804.html#Feedback0http://www.aygfsteel.com/ltc603/comments/commentRss/63804.htmlhttp://www.aygfsteel.com/ltc603/services/trackbacks/63804.html 利用Java 操作Excel文档(POIҎ)

一Q?span lang="EN-US">POI?span lang="EN-US">

Jakarta POI ?span lang="EN-US">apache的子目Q目标是处理ole2对象。它提供了一l操U?span lang="EN-US">Windows文档?span lang="EN-US">Java API

目前比较成熟的是HSSF接口Q处?span lang="EN-US">MS ExcelQ?span lang="EN-US">97-2002Q对象。它不象我们仅仅是用csv生成的没有格式的可以?span lang="EN-US">Excel转换的东西,而是真正?span lang="EN-US">Excel对象Q你可以控制一些属性如sheet,cell{等?span lang="EN-US">

二.HSSF概况

HSSF ?span lang="EN-US">Horrible SpreadSheet Format的羃写,也即“讨厌的电子表格格式”?也许HSSF的名字有ҎE,本质而言它是一个非怸肃、正规的API。通过HSSFQ你可以用纯Java代码来读取、写入、修?span lang="EN-US">Excel文g?span lang="EN-US">

HSSF 取操作提供了两类APIQ?span lang="EN-US">usermodel?span lang="EN-US">eventusermodelQ即“用h型”和“事?span lang="EN-US">-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多?/span>

三.开始编?span lang="EN-US">

1 Q?/span> 准备工作

要求:JDK 1.4+POI开发包

可以?/span> http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 最新的POI工具?span lang="EN-US">

2 Q?/span> EXCEL l构

HSSFWorkbook excell 文档对象介绍
HSSFSheet excell
的表?span lang="EN-US">
HSSFRow excell
的行
HSSFCell excell
的格子单?span lang="EN-US">
HSSFFont excell字体
HSSFName
名称
HSSFDataFormat
日期格式
?span lang="EN-US">poi1.7中才有以?span lang="EN-US">2:
HSSFHeader sheet
?span lang="EN-US">
HSSFFooter sheet?span lang="EN-US">
和这个样?span lang="EN-US">
HSSFCellStyle cell样式
辅助操作包括
HSSFDateUtil
日期
HSSFPrintSetup
打印
HSSFErrorConstants
错误信息?/span>

3 Q具体用法实?/span> Q采?/span> usermodel Q?/span>

如何?span lang="EN-US">Excel

dExcel文gӞ首先生成一?span lang="EN-US">POIFSFileSystem对象Q由POIFSFileSystem对象构造一?span lang="EN-US">HSSFWorkbookQ该HSSFWorkbook对象׃表了Excel文档。下面代码读取上面生成的Excel文g写入的消息字Ԍ
POIFSFileSystemfs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));
HSSFWorkbook
 wb = new HSSFWorkbook(fs);
  } catch (IOException e) {
  e.printStackTrace();
  }
  HSSFSheet sheet = wb.getSheetAt(0);
  HSSFRow row = sheet.getRow(0);
  HSSFCell cell = row.getCell((short) 0);
  String msg = cell.getStringCellValue();

如何?span lang="EN-US">excelQ?span lang="EN-US">

?span lang="EN-US">excel的第一个表单第一行的W一个单元格的值写成?span lang="EN-US">a test”?span lang="EN-US">

POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));

    HSSFWorkbook wb = new HSSFWorkbook(fs);

    HSSFSheet sheet = wb.getSheetAt(0);

    HSSFRow row = sheet.getRow(0);

    HSSFCell cell = row.getCell((short)0);

    cell.setCellValue("a test");

    // Write the output to a file

    FileOutputStream fileOut = new FileOutputStream("workbook.xls");

    wb.write(fileOut);

fileOut.close();

4 Q?/span> 可参考文?/span>

POI 主页Q?span lang="EN-US">http://jakarta.apache.org/poi/Q?span lang="EN-US">

初学者如何快速上手?span lang="EN-US">POI HSSF

http://jakarta.apache.org/poi/hssf/quick-guide.html ?span lang="EN-US">

代码例子 http://blog.java-cn.com/user1/6749/archives/2005/18347.html

里面有很多例子代码,可以很方便上手?span lang="EN-US">

四.使用心得

POI HSSF ?span lang="EN-US">usermodel包把Excel文g映射成我们熟悉的l构Q诸?span lang="EN-US">Workbook?span lang="EN-US">Sheet?span lang="EN-US">Row?span lang="EN-US">Cell{,它把整个l构以一l对象的形式保存在内存之中,便于理解Q操作方便,基本上能够满x们的要求Q所以说q个一个不错的选择?/span>

 



阿成 2006-08-16 09:00 发表评论
]]>
վ֩ģ壺 | γ| | | | | | | | ϽϽ| Ͷ| ˮ| Դ| | | | ٹ| ÷ӿ| | ľ| ˮ| Ҫ| | ̨| | | | | | | | | | | ɳ| | | ۰| Ϊ| | Ҫ|