Java BufferedRead
Java IO 流 基础知识
JAVA对输入流的定义:
能够读取一个字符序列的对象称作一个输入流;
能够 写一个字符序列的对象称作一个输出流;
流有字符流和字节流,其中字符流主要用于操作汉字或特殊符号的程序中,因为汉字不止一个字节,使用字符流可以比较好的操作汉字;字节流则主要用于对二进制文件的操作,如图片、音乐、视频等。
如下图
BufferedReader
在做项目的过程中遇到了需要调用第三方API接口的地方,需要用到BufferedReader ,在此记录。
首先BufferedReader ,Buffered – 缓冲的,Read – 读,BufferedReader 是一个从字符输入流中读取文本,缓冲字符,以便有效读取字符,数组和行。
BufferedReader 类中存在缓冲字符数组,其构造方法就可以传递数值指定缓冲区大小也可以由类中的默认大小指定。
其构造方法必须指定一个输入流Reader
对于 Java 的URLConnection 类,通过URL对象的openCpnnection创建出URLConnection对象,URLConnection 有一个 输入流 InputStream 和输出流 OutputStream,其中输入流java程序从Response中读取返回的数据, 我们可以通过一个字符串流来从输入流中读取相关书数据(注意在获取URLConnetcion前,应该通过getResponseCode 获取响应码来判断请求是否的到了正确的响应)。
从第三方API接口获取JSON
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.Charset;
public class GetJsonFromUrl {
public static JSONObject GET(String url) throws IOException, JSONException
{
JSONObject json=new JSONObject();
URL realUrl = new URL(url)