⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpdata.java

📁 目前版本已经对 nokia 手机优化界面 适用于所有 Java 手机 可根据各手机再进一步美化(定制)界面
💻 JAVA
字号:
/*
   版权声明
 
   本程序作者是 www.kbao.com 保留所有权利
 
   我们对于本软件不作任何保证, 不管是明确的表达还是隐含的推论. 
   本软件可用于任何目的, 包括商业目的, 我们不作任何限制和不承担任何责任.
   再分发本程序或者它的修改程序, 请保留本版权声明
 
   如果你对于本软件有任何修改,你可以访问我们的网站相关页面
   http://www.kbao.com/bbs/bbsview.php?bbsid=StockDev
   并将新的程序上传. 我们将非常欢迎和尊重你的努力.
  
*/


package kbaohttpstock ;

import java.io.*;
import javax.microedition.io.*;

public class HttpData  extends Thread
{
	public  int tag ;
	private String url ;
	private HttpDataListener listener ;
	
	public HttpData( String ur , HttpDataListener ls )
	{
		url = ur ;
		listener = ls ;
	}
	
	public void run( ) 
	{
		byte[] data = getHttpData( url );
		//if( data != null )
		if( listener != null )
		listener.receiveHttpData(this, data);
	}

  	private byte[] getHttpData(String url) 
  	{

        
		HttpConnection connection = null;
		DataInputStream iStrm = null ;

      		byte[]  httpdata = null;
 
    		try
    		{
			connection = ( HttpConnection ) Connector.open(url);
    			iStrm = connection.openDataInputStream();    
			
			int status = connection.getResponseCode();
			if ( status == HttpConnection.HTTP_OK )
			{

      				int length = (int) connection.getLength();

				//System.out.print( "http response length=" );
				//System.out.println( String.valueOf( length ) );

				/* 下面代码容易造成 out of heap memory
      				if ( length != -1 )
      				{
        				httpdata = new byte[length];
         				iStrm.readFully(httpdata);
      				} */
      				if ( length != -1 )
      				{
        				ByteArrayOutputStream bStrm = new ByteArrayOutputStream();       
        
        				int i=0;
					for( ; i<length ; i++ )
					{
						int ch = iStrm.read() ;
						if( ch == -1 ) break ;
          					bStrm.write(ch);
					}
        
					if( i == length )
        				httpdata = bStrm.toByteArray();

        				bStrm.close();                
      				}
      				else  
      				{       
        				ByteArrayOutputStream bStrm = new ByteArrayOutputStream();       
        
        				int ch;
        				while ((ch = iStrm.read()) != -1)
          				bStrm.write(ch);
        
        				httpdata = bStrm.toByteArray();
        				bStrm.close();                
      				}

			}

    		}
		catch( IOException e )
		{ 
			httpdata = null;
		}
    		finally
    		{		
			try 
			{
			
      				if (connection != null)
        			connection.close();
				if( iStrm != null )
				iStrm.close( );

			}
			catch( IOException e ){ }
    		}
    		return httpdata ;
  	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -