谁即会.net和java,帮我改改三个类,改成java的,有好多对不起来,
Imports System.IO
Imports System.Text
Imports System.Configuration
Imports System.Web
Public MustInherit Class HttpUtility
Protected m_ServiceURI As String
Public Property ServiceURI() As String
Get
Return m_ServiceURI
End Get
Set(ByVal Value As String)
m_ServiceURI = Value
End Set
End Property
Public Sub New()
m_ServiceURI = ""
End Sub
End Class
Public Class SyncHttpUtility
Inherits HttpUtility
Public Function HttpQuery(ByVal cmd As String, ByRef ret As String) As Boolean
Dim bRet As Boolean = False
Dim sRet As String = ""
Try
Dim oUri As Uri = New Uri(Me.m_ServiceURI)
Dim oReq As HttpWebRequest
Dim oReqStream, oRespStream As Stream
Dim SendBytes() As Byte
Dim oResp As HttpWebResponse
Dim sr As StreamReader
Dim character As Integer
Dim temp(1) As Byte
oReq = CType(WebRequest.Create(oUri), HttpWebRequest)
oReq.Method = "POST"
'SendBytes = Encoding.GetEncoding(936).GetBytes(cmd)
cmd = System.Web.HttpUtility.UrlEncode(cmd)
SendBytes = Encoding.UTF8.GetBytes(cmd)
oReq.ContentLength = SendBytes.Length
oReqStream = oReq.GetRequestStream()
oReqStream.Write(SendBytes, 0, SendBytes.Length)
oReq.Timeout = 1000 * 30
oReqStream.Close()
oResp = oReq.GetResponse()
oRespStream = oResp.GetResponseStream()
'sr = New StreamReader(oRespStream, Encoding.GetEncoding(936))
sr = New StreamReader(oRespStream, Encoding.UTF8)
sRet = sr.ReadToEnd
ret = sRet
bRet = True
Catch ex As Exception
bRet = False
ret = ex.Message
End Try
Return bRet
End Function
End Class
Public Class ASyncHttpUtility
Inherits HttpUtility
Const BUFFER_SIZE As Integer = 1024
Private ResultQueue As Queue
Public IsBack As Boolean
'New
Public Sub New()
ResultQueue = New Queue
IsBack = True
End Sub
'Callback State Class
Private Class RequestState
Public ID As String
Public Request As HttpWebRequest
Public ResponseStream As Stream
Public BufferRead(BUFFER_SIZE) As Byte
Public RequestData As StringBuilder = New StringBuilder("")
'Public StreamDecode As Decoder = Encoding.GetEncoding(936).GetDecoder()
Public StreamDecode As Decoder = Encoding.UTF8.GetDecoder()
Public Sub New()
Request = Nothing
ResponseStream = Nothing
ID = Now.ToLongTimeString
End Sub
End Class
Private Sub Print(ByVal text As String)
Debug.WriteLine(text)
End Sub
Private Sub AddResult(ByVal content As String)
ResultQueue.Enqueue(content)
End Sub
Public Function GetResult() As String
Dim sRet As String = ""
Try
If ResultQueue.Count <> 0 Then
sRet = ResultQueue.Dequeue
End If
Catch ex As Exception
'How?
sRet = ""
End Try
Return sRet
End Function
'Send Request
Public Sub AnsyncSendHttpWebRequest(ByVal cid As String)
Try
IsBack = False
Dim oUri As Uri = New Uri(Me.m_ServiceURI & "?CID=" & cid)
Dim oReq As HttpWebRequest
Dim oReqState As New RequestState
oReq = CType(WebRequest.Create(oUri), HttpWebRequest)
oReqState.Request = oReq
oReq.BeginGetResponse(New AsyncCallback(AddressOf HttpWebResponseCallback), oReqState)
Print("Info : Send Request : " & oReqState.ID & " : " & Now.ToLongTimeString)
Catch ex As Exception
IsBack = True
AddResult("Ex : Send Request : " & ex.ToString)
Print("Ex : Send Request : " & ex.ToString)
End Try
End Sub
'Process Request Callback
Private Sub HttpWebResponseCallback(ByVal ar As System.IAsyncResult)
Try
IsBack = False
Dim oReqState As RequestState = CType(ar.AsyncState, RequestState)
Dim oReq As HttpWebRequest = oReqState.Request
Dim oResp As HttpWebResponse = CType(oReq.EndGetResponse(ar), HttpWebResponse)
Dim oRespStream As Stream = oResp.GetResponseStream()
oReqState.ResponseStream = oRespStream
Dim reader As StreamReader = New StreamReader(oRespStream)
'Send Read
Dim arRead As IAsyncResult = _
oRespStream.BeginRead(oReqState.BufferRead, 0, BUFFER_SIZE, _
New AsyncCallback(AddressOf HttpWebReadCallBack), oReqState)
Print("Info : Response Callback : " & oReqState.ID & " : " & Now.ToLongTimeString)
Catch ex As Exception
IsBack = True
AddResult("Ex : Request Callback : " & Now.ToString & " : " & ex.ToString)
Print("Ex : Request Callback : " & Now.ToString & " : " & ex.ToString)
End Try
End Sub
'Process Read Callback
Private Sub HttpWebReadCallBack(ByVal asyncResult As IAsyncResult)
Try
IsBack = False
Dim oReqState As RequestState = CType(asyncResult.AsyncState, RequestState)
Dim oRespStream As Stream = oReqState.ResponseStream
Print("Info : Read Callback Start: " & oReqState.ID & " : " & Now.ToLongTimeString)
'Still has data in stream
Dim read As Integer = oRespStream.EndRead(asyncResult)
If read > 0 Then
'Keep
Dim charBuffer(BUFFER_SIZE) As Char
Dim len As Integer = _
oReqState.StreamDecode.GetChars(oReqState.BufferRead, 0, read, charBuffer, 0)
Dim str As String = New String(charBuffer, 0, len)
'oReqState.RequestData.Append(Encoding.GetEncoding(936).GetString(oReqState.BufferRead, 0, read))
oReqState.RequestData.Append(Encoding.UTF8.GetString(oReqState.BufferRead, 0, read))
' Continue reading until returns –1.0.
Dim ar As IAsyncResult = _
oRespStream.BeginRead(oReqState.BufferRead, 0, BUFFER_SIZE, _
New AsyncCallback(AddressOf HttpWebReadCallBack), oReqState)
Else
Dim strContent As String = ""
'End reading or Has no data
If oReqState.RequestData.Length > 1 Then
strContent = oReqState.RequestData.ToString()
'print("Info : Read Callback : " & strContent)
Print("Info : Read Callback End: " & oReqState.ID & " : " & Now.ToLongTimeString & " : " & strContent)
Else
Print("Info : Read Callback : " & "no data found")
End If
' Close the response stream.
oRespStream.Close()
AddResult(strContent)
End If
Catch ex As Exception
AddResult("Ex : Read Callback : " & ex.ToString)
Print("Ex : Read Callback : " & ex.ToString)
End Try
IsBack = True
End Sub
End Class
相关推荐
baktax 2 .SET.zip
baktax 2 .SET.zip
UniApp跨端适配实战:从rpx到响应式布局的完整解决方案
在跨端开发领域,屏幕适配是保障应用在不同设备上体验一致性的核心技术挑战。其核心原理在于理解视口、逻辑像素与CSS响应式单位(如rpx)的映射关系,通过视口比例换算实现元素尺寸的动态缩放。这项技术的工程价值在于,它使得一套代码能够自适应手机、平板乃至折叠屏等多种屏幕尺寸,显著提升开发效率并降低维护成本。在实际应用场景中,开发者需要结合弹性布局、CSS媒体查询与JavaScript动态断点判断,构建从全局样式基准到组件级细节的完整适配方案。本文聚焦UniApp框架下的跨端适配实践,深入解析如何运用rpx单位与响
微信小程序自定义导航栏全攻略:精准计算高度与安全区域适配
在微信小程序开发中,原生导航栏的样式限制和高度不透明性,常常成为实现沉浸式体验和个性化UI的障碍。其核心原理在于,开发者需要通过全局配置启用自定义模式,从而获得页面顶部的完全控制权。这项技术的核心价值在于,它允许开发者突破原生限制,实现与品牌深度结合、高度灵活的顶部导航设计,广泛应用于电商、视频、社交等对UI有高要求的场景。要精准实现自定义导航栏,关键在于利用 `wx.getSystemInfoSync()` API 获取动态的 **状态栏高度**,并结合固定的导航栏本体高度进行计算。同时,必须考虑不同设备
移动WEB开发实战:响应式布局与性能优化
响应式布局是现代WEB开发的核心技术,通过CSS媒体查询、Flex/Grid布局和视口单位(vw/vh)实现多设备适配。其原理是基于设备特性动态调整布局结构,技术价值在于提升用户体验和开发效率,广泛应用于电商、新闻等跨平台场景。在移动端开发中,性能优化尤为关键,涉及图片懒加载、关键资源预加载等热词技术,以及减少重绘回流的工程实践。本文通过REM布局方案和transform动画优化等具体案例,深入解析移动WEB开发的最佳实践。
UniApp微信小程序自定义TabBar实战:从原理到高级交互实现
在移动应用开发中,底部导航栏(TabBar)是核心的UI组件,负责应用主要功能模块的切换。其实现原理通常基于路由管理与视图渲染机制,通过维护一个状态索引来同步视觉焦点与页面内容。自定义TabBar的技术价值在于突破了原生组件在样式和交互上的限制,允许开发者完全掌控其视觉表现与动态行为,从而满足品牌统一、运营活动提示(如徽标)和提升用户体验(如交互动画)的深层次需求。这一能力在追求高度个性化与动态化的应用场景中尤为重要,例如电商、社交类小程序。本文聚焦于UniApp框架下的微信小程序开发,深入解析如何通过自定


Java SE
