//创建读取接口中数据的方法
public static String read() {
URL url = null;
BufferedReader reader = null;
HttpURLConnection connection = null;
InputStreamReader ins = null;
try {
// 设置url地址
url = new URL("https://***.***.com/api/getStudent");
System.out.println("已完成20%。。。");
// 获取连接通道
connection = (HttpURLConnection) url.openConnection();
// 设置连接响应时间
connection.setConnectTimeout(2 * 1000);
// 设置读取响应时间
connection.setReadTimeout(2 * 1000);
// 连接
connection.connect();
System.out.println("已完成50%。。。");
// 输入流
ins = new InputStreamReader(connection.getInputStream(), "UTF-8");
// 读取
reader = new BufferedReader(ins);
// 创建可变字符串
StringBuffer sb = new StringBuffer();
System.out.println("已完成80%。。。");
String line;
// readLine()方法,当读取流读取数据时使用,当读到\n、\r时,会跟着换行,
// 同时会以字符串的形式返回这一行,当读取完所有数据时,会返回null
while ((line = reader.readLine()) != null) {
System.out.println("导入中。。。");
sb.append(line + "\n");
}
return sb.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Error GetURL:" + e);
System.out.println("Error GetURL:" + url);
e.printStackTrace();
} finally {
if (ins != null) {
try {
ins.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection != null) {
connection.disconnect();
}
}
return null;
}
//写文件处理
public static void main(String[] args) {
System.out.println("导入开始!");
File file = new File("F:/love.txt");
if(file.exists()) {
System.err.println("F盘下已存在love.txt的文件,将更新文件内容");
file.delete();
}
if(!file.exists()) {
try {
file.createNewFile();
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(file),"GB2312");
BufferedWriter bw = new BufferedWriter(osw);
bw.write(read());
System.out.println("已完成100%");
System.out.println("导入结束!");
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}