将程序输出在控制台的内容输出到文档中

老师布置了一个小作业,需要将学校首页内容爬取下来。

我实现了内容爬取后,内容输出到了控制台。

我的目的是实现控制台内容输出成一个文本文档。

在网上搜索后找到了一种直接在Eclipse中设置 的方法。请参考如下博客:

http://blog.csdn.net/yongh701/article/details/51499816

我是用了以后觉得非常好用。刚好这两天在学习java基础的IO流的内容,发现了另一种方法,所以将这种方法记录下来。

本方法是使用IO流中的输出流确定输出目的文件,利用java.lang.System.setOut(String string) 方法将输出流重定向,从而实现将控制台文本输出成为文本文件的目的。

代码如下:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;


import org.jsoup.*;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;


public class SpiderImau {
public static final int TIMEOUT = 50000;
public static final String URL = "http://www.****.edu.cn/";//在这里设置要爬取的网页的网址
public static PrintStream ps = null;
public static void main(String [] args) throws IOException
{
ps = new PrintStream(new FileOutputStream("G:\\内容爬取.txt"));//此处是设置要输出的文件的名字,此文件不存在则自动新建一个
if(ps != null)
System.setOut(ps);//此处是将输出流的方向重新设置,由原来输出到控制台改为输出到ps.

/*以下内容是使用Jsoup对我们学校首页的标题进行爬取,在此不做赘述*/

Document doc = Jsoup.connect(URL).timeout(TIMEOUT).get();
Elements es = doc.getElementsByTag("ul");
Elements et = es.select("li");
//System.out.println(et);
for(Element li:et)
{
if(li.text().equals(""))
continue;
String title = li.select("a[href]").text();
System.out.println(title);//此处输出不在控制台,转为ps指定文件夹
}

}


}


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值