首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

IO字符源字节流

2012-12-27 
IO字符流字节流IO分两种流字节流 InputStream OutputStream字符流 ReaderWriter他们都是抽象类具体实现字

IO字符流字节流
IO分两种流
字节流 InputStream OutputStream
字符流 Reader  Writer
他们都是抽象类
具体实现
字节流 FileInputStream  FileOutputStream
字符流 FileReader    FileWriter
字节流转换成字符流可以用 InputSteamReader  OutputStreamWriter
转换成BufferdReader  BufferedWriter 他们具有缓冲区
参考 http://neil-jh.iteye.com/blog/175121

从输入流读取内容写到文件存储是没问题的,
但是按字节读取输出到内存会有部分中文乱码的问题,
推测可能是字节形式读入的时候,中文被截断了引起的乱码
按字符读取就没问题。

URL url = new URL(path);            httpUrl = (HttpURLConnection) url.openConnection();            httpUrl.setDoOutput(true);            httpUrl.setRequestMethod("GET");            httpUrl.connect();            int code = httpUrl.getResponseCode();            System.out.println(">>>>>>>>>reponse code:" + code);            in = httpUrl.getInputStream();            BufferedReader bReader = new BufferedReader(new InputStreamReader(                    in, Charset.forName("utf-8")));            String inputLine = null;            while ((inputLine = bReader.readLine()) != null) {                sb.append(inputLine).append("\n");            }            bReader.close();            in.close();            httpUrl.disconnect();



下载图片
URL url = new URL(imgurl);                    BufferedInputStream bis = new BufferedInputStream(                            url.openStream());                    byte[] bytes = new byte[100];                    String[] tmp = imgurl.split("/");                    OutputStream bos = null;                    bos = new FileOutputStream(new File("c:\\1.jpg"));                    int len;                    while ((len = bis.read(bytes)) > 0) {                        bos.write(bytes, 0, len);                    }                    bis.close();                    bos.flush();                    bos.close();




热点排行