谁即会.net和java,帮我改改三个类,改成java的,有好多对不起来,

鲁虾 鲁虾 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Imports System.Net
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

lamike

UniApp跨端适配实战:从rpx到响应式布局的完整解决方案

在跨端开发领域,屏幕适配是保障应用在不同设备上体验一致性的核心技术挑战。其核心原理在于理解视口、逻辑像素与CSS响应式单位(如rpx)的映射关系,通过视口比例换算实现元素尺寸的动态缩放。这项技术的工程价值在于,它使得一套代码能够自适应手机、平板乃至折叠屏等多种屏幕尺寸,显著提升开发效率并降低维护成本。在实际应用场景中,开发者需要结合弹性布局、CSS媒体查询与JavaScript动态断点判断,构建从全局样式基准到组件级细节的完整适配方案。本文聚焦UniApp框架下的跨端适配实践,深入解析如何运用rpx单位与响

weixin_33984032

微信小程序自定义导航栏全攻略:精准计算高度与安全区域适配

在微信小程序开发中,原生导航栏的样式限制和高度不透明性,常常成为实现沉浸式体验和个性化UI的障碍。其核心原理在于,开发者需要通过全局配置启用自定义模式,从而获得页面顶部的完全控制权。这项技术的核心价值在于,它允许开发者突破原生限制,实现与品牌深度结合、高度灵活的顶部导航设计,广泛应用于电商、视频、社交等对UI有高要求的场景。要精准实现自定义导航栏,关键在于利用 `wx.getSystemInfoSync()` API 获取动态的 **状态栏高度**,并结合固定的导航栏本体高度进行计算。同时,必须考虑不同设备

weixin_30482383

移动WEB开发实战:响应式布局与性能优化

响应式布局是现代WEB开发的核心技术,通过CSS媒体查询、Flex/Grid布局和视口单位(vw/vh)实现多设备适配。其原理是基于设备特性动态调整布局结构,技术价值在于提升用户体验和开发效率,广泛应用于电商、新闻等跨平台场景。在移动端开发中,性能优化尤为关键,涉及图片懒加载、关键资源预加载等热词技术,以及减少重绘回流的工程实践。本文通过REM布局方案和transform动画优化等具体案例,深入解析移动WEB开发的最佳实践。

weixin_34384557

UniApp微信小程序自定义TabBar实战:从原理到高级交互实现

在移动应用开发中,底部导航栏(TabBar)是核心的UI组件,负责应用主要功能模块的切换。其实现原理通常基于路由管理与视图渲染机制,通过维护一个状态索引来同步视觉焦点与页面内容。自定义TabBar的技术价值在于突破了原生组件在样式和交互上的限制,允许开发者完全掌控其视觉表现与动态行为,从而满足品牌统一、运营活动提示(如徽标)和提升用户体验(如交互动画)的深层次需求。这一能力在追求高度个性化与动态化的应用场景中尤为重要,例如电商、社交类小程序。本文聚焦于UniApp框架下的微信小程序开发,深入解析如何通过自定

weixin_30430169
评论 10
收藏 已收藏
分享
返回顶部
鲁虾
Java SE 62,620 成员 307,251 内容