Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将java结果放入文件(如Excel)_Java_Excel - Fatal编程技术网

如何将java结果放入文件(如Excel)

如何将java结果放入文件(如Excel),java,excel,Java,Excel,因此,下面的代码在运行时列出了指向网站的所有url链接以及每套链接来自的页面url。那么,我怎样才能将这些链接存储在某个地方,比如Excel文件或任何类型的文件(如果它不是Excel的话) 公共类爬虫{ /** * @param args the command line arguments * @throws java.io.IOException */ public static void main(String[] args) throws IOException { Set<

因此,下面的代码在运行时列出了指向网站的所有url链接以及每套链接来自的页面url。那么,我怎样才能将这些链接存储在某个地方,比如Excel文件或任何类型的文件(如果它不是Excel的话)

公共类爬虫{

/**
 * @param args the command line arguments
 * @throws java.io.IOException
 */
public static void main(String[] args) throws IOException {

Set<String> visitedUrls = new HashSet<>();
String url = "http://www.claflin.edu";
crawl(url, visitedUrls);


  private static void crawl(String url, Set<String> visited) throws IOException {
if(url.isEmpty() || visited.contains(url)) {
    return;
}
print("Fetching %s...", url);
visited.add(url);
Document doc;



 try {
    doc = Jsoup.connect(url).timeout(10000).get();
} catch (UnsupportedMimeTypeException e) {
    System.out.println("Unsupported Mime type. Aborting crawling for URL: " + url);
    return;
} catch (MalformedURLException e) {
    System.out.println("Unsupported protocol for URL: " + url);
    return;
} catch (HttpStatusException e) {
    System.out.println("Error (status=" + e.getStatusCode() + ") fetching URL: " + url);
    return;
} catch (IOException e) {
    System.out.println("Timeout fetching URL: " + url);
    return;
}

Elements media = doc.select("[src]");
Elements imports = doc.select("link[href]");
Elements links1 = doc.select("a[href$=\".pdf\"]");
Elements links = doc.select("a[href]");

print("\nOther Links: (%d)", links1.size());
for (Element link: links1){
    print(" * a: <%s> (%s)", link.attr("abs:href"), trim(link.text(), 35));
}

print("\nLinks: (%d)", links.size());
for (Element link: links)
{
    print(" * a: <%s> (%s)", link.attr("abs:href"), trim(link.text(), 35));
}

  for(Element link : links) {
    String href = link.attr("abs:href");
    URL hrefURL = null;
    try {
        hrefURL = new URL(href);
    } catch (MalformedURLException e) {
        //nothing
    }
    if(hrefURL != null && hrefURL.getHost().equals(new URL(url).getHost())) {
        crawl(href, visited);
    }

   }
  }


private static void print(String msg, Object... args) {
System.out.println(String.format(msg, args));
  }

private static String trim(String s, int width) {
if (s.length() > width)
    return s.substring(0, width-1) + ".";
else
    return s;

   }

 }
/**
*@param指定命令行参数
*@抛出java.io.IOException
*/
公共静态void main(字符串[]args)引发IOException{
Set visitedUrls=new HashSet();
字符串url=”http://www.claflin.edu";
爬网(url,已访问的url);
私有静态无效爬网(字符串url,访问集)引发IOException{
if(url.isEmpty()| | visted.contains(url)){
返回;
}
打印(“正在提取%s…”,url);
已访问。添加(url);
文件文件;
试一试{
doc=Jsoup.connect(url).timeout(10000.get();
}捕获(不支持管理类型异常){
System.out.println(“不支持的Mime类型。正在中止URL:+URL的爬网);
返回;
}捕获(格式错误){
System.out.println(“URL的不支持协议:“+URL”);
返回;
}捕获(HttpStatus异常){
System.out.println(“错误(状态=“+e.getStatusCode()+”)获取URL:“+URL”);
返回;
}捕获(IOE异常){
System.out.println(“超时抓取URL:+URL”);
返回;
}
Elements media=doc.select(“[src]”);
元素导入=doc.select(“链接[href]”;
元素links1=doc.select(“a[href$=\”.pdf\“]”;
Elements links=doc.select(“a[href]”);
打印(“\n其他链接:(%d)”,links1.size());
对于(元素链接:links1){
打印(“*a:(%s)”,link.attr(“abs:href”),修剪(link.text(),35));
}
打印(“\n链接:(%d)”,links.size());
用于(元素链接:链接)
{
打印(“*a:(%s)”,link.attr(“abs:href”),修剪(link.text(),35));
}
用于(元素链接:链接){
String href=link.attr(“abs:href”);
URL hrefURL=null;
试一试{
hrefURL=新URL(href);
}捕获(格式错误){
//没什么
}
if(hrefur!=null&&hrefur.getHost().equals(新URL(URL.getHost())){
爬网(href,已访问);
}
}
}
私有静态无效打印(字符串消息、对象…参数){
System.out.println(String.format(msg,args));
}
专用静态字符串修剪(字符串s,整型宽度){
如果(s.长度()>宽度)
返回s.substring(0,宽度-1)+“;
其他的
返回s;
}
}
您可以使用。它支持创建Excel文件(xsl、xslx)。您可以找到有关所用XSSF和HSSF格式的更多信息。可以找到代码示例