이미 OutputStreamWriter
에서 보낸 데이터의 크기를 표시하려고 시도했지만 write
메서드는 비동기식과 비슷합니다. 즉 파일이 60M이고 업로드 속도가 200K/s이면 출력에는 " 전송 된 데이터 : 61210K "(또는 초당 작은 숫자) 대신에 (큰 숫자)HttpURLConnection에서 보낸 데이터의 크기를 모니터링하는 방법은 무엇입니까?
내가 무엇을 놓쳤습니까?
코드 조각 :
Writer writer = new OutputStreamWriter(out, POST_ENCODING);
char[] buf = new char[1024];
int read = 0;
long bytes = 0;
while ((read = reader.read(buf)) >= 0) {
bytes += read;
if (System.currentTimeMillis() - lastMsgTimeStamp > 1000) {
lastMsgTimeStamp = System.currentTimeMillis();
System.out.println("Data sent: " + (bytes/1024) + " K");
}
writer.write(buf, 0, read);
}
writer.flush();
'OutputStreamWriter'가 래핑하는'out'이란 무엇입니까? 밑에있는'StreamEncoder'는 그것에 쓸 것입니다. –
java.net.URLConnection.getOutputStream()에 의해 반환되는 것은 단지 OutputStream입니다. – NSF