Android 网络编程——get到html/图片保存至文件
一、保存文件到手机
public void getFilehtml() throws Exception {
String baseUrl="https://www.baidu.com/";
URL url=new URL(baseUrl);
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(6*1000);
conn.setRequestMethod("GET");
if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){
InputStream is =conn.getInputStream();
Log.d(TAG,"is--->"+is.toString());
ByteArrayOutputStream baos=new ByteArrayOutputStream();
byte[] bytes=new byte[1024];
int len;
while((len=is.read(bytes))!=-1){
baos.write(bytes,0,len);
}
FileOutputStream fos=openFileOutput("getFileHtml.txt",MODE_PRIVATE);
fos.write(baos.toByteArray());
Log.d(TAG,"baos--->"+baos.toString());
FileInputStream fis=openFileInput("getFileHtml.txt");
while((len=fis.read(bytes))!=-1){
baos.write(bytes,0,len);
}
//显示控件UI
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView tv=findViewById(R.id.tv);
tv.append("666\n"+baos.toString());
}
});
fos.close();
baos.close();
is.close();
conn.disconnect();
}
}
注:
1.关键代码:转成baos后,
FileOutputStream fos=openFileOutput("getFileHtml.txt",MODE_PRIVATE);
fos.write(baos.toByteArray());
Log.d(TAG,"baos--->"+baos.toString());
在data->data->包名->File即可查看生成得文件
二、读取保存的文件并显示到ui
先读取fis,在转为baos。关键代码:
FileInputStream fis=openFileInput("getFileHtml.txt");
while((len=fis.read(bytes))!=-1){
baos.write(bytes,0,len);
}
三、图片得保存与读取
图片也一样,只不过url链接和文件名后缀改成对应的即可