关于java的IO流

来源:互联网 发布:网络歌曲《鸽子》歌词 编辑:程序博客网 时间:2024/04/30 21:32

一直都不能够熟练的使用,即便是系统的学习后,好像也不太明白何时为输出,何时为输入,总是会忘记,记下一些程序留自己后用,逐一记之

1.从URL中获取信息,并写到文本文件中

package com.test.sockettest;import java.io.BufferedReader;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;public class URLUse {public static void main(String[] args) {try {URL url=new URL("http://www.baidu.com");//使用URL的Openstream方法,该方法返回的是Inputstream对象InputStream in=url.openStream();//将字节流转化为字符流,我理解的是如果乱码,只会在此处才会发生,如下,修改了编码格式InputStreamReader ins=new InputStreamReader(in,"utf-8");//加载到缓存中,使IO更高效BufferedReader bReader=new BufferedReader(ins);//这里直接使用的是FileWriter对象,使用write方法将字符流写入到txt文件中FileWriter fWriter=new FileWriter(new File("baidu.txt"));String string=bReader.readLine();while(string!=null){//使用write方法将string写入到创建时指定的文本文件中fWriter.write(string);//按理说,此处可以不用flush的fWriter.flush();string=bReader.readLine();}//未免close太多in.close();ins.close();bReader.close();fWriter.close();} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


0 0
原创粉丝点击