我需要在安卓(Java平台)上使用HTTP协议下载和上传文件。
我正在使用以下代码上传文件:
HttpURLConnection httpURLConnection = (HttpURLConnection) serverUrl.openConnection();
....
httpURLConnection.connect();
OutputStream os = httpURLConnection.getOutputStream();
使用以下代码下载文件:
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
...
urlConnection.connect();
DataInputStream stream = new DataInputStream(urlConnection.getInputStream());
根据我的观察,对于两种情况,connect() 都需要时间,因为在这个时候它正在与网络通信。而对于文件上传,getOutputStream() 很快就会执行,这是不是意味着它没有与网络通信?
然而,在文件下载中,getInputStream() 需要一些时间(大约200到2500毫秒)才能执行。这是不是意味着它在这个时候正在与网络通信?如果是的话,为什么会这样呢?
专家们,请提供您的评论并指出我哪里有错。