java应用程序与网络通讯一直是我的弱项,想补一补,就从这一篇开始吧!
以从网上下载一个图象为例:
import
java.io.BufferedInputStream;
import
java.io.BufferedOutputStream;
import
java.io.File;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.net.URL;
import
java.net.URLConnection;
public
class
DownloadFormURL {
public
static
void
main(String[] args) {
try
{
new
DownloadFormURL().downloadFile(
"
http://127.0.0.1:8080/image/f.jpg
"
,
new
File(
"
F:/image.jpg
"
));
}
catch
(IOException e) {
e.printStackTrace();
}
}
public
void
downloadFile(String sourceURL, File targetFile)
throws
IOException {
URL url
=
new
URL(sourceURL);
URLConnection connection
=
url.openConnection();
java.io.InputStream inputStream
=
connection.getInputStream();
FileOutputStream outputStream
=
new
FileOutputStream(targetFile);
BufferedInputStream in
=
null
;
BufferedOutputStream out
=
null
;
byte
buffer[]
=
new
byte
[
8192
];
try
{
in
=
new
BufferedInputStream(inputStream, buffer.length);
out
=
new
BufferedOutputStream(outputStream, buffer.length);
int
total
=
0
;
for
(
int
bytesRead
=
0
; (bytesRead
=
in.read(buffer))
!=
-
1
;) {
out.write(buffer,
0
, bytesRead);
total
+=
bytesRead;
}
}
finally
{
in.close();
out.close();
}
return
;
}
}
小试了一下,还不错!