1 package net.javacoding.jspider.tool.impl; 2 3 import net.javacoding.jspider.api.event.JSpiderEvent; 4 import net.javacoding.jspider.api.event.resource.ResourceFetchedEvent; 5 6 import java.io.*; 7 8 11 public class DownloadTool extends BaseToolImpl { 12 13 public String getName() { 14 return "download"; 15 } 16 17 public String getUsage() { 18 return "[filename]"; 19 } 20 21 public int getParameterCount() { 22 return 1; 23 } 24 25 public void notify(JSpiderEvent event) { 26 27 String fileName = parameters.getValues()[0]; 28 29 if ( event instanceof ResourceFetchedEvent ) { 30 ResourceFetchedEvent rfe = (ResourceFetchedEvent) event; 31 int counter = 0; 32 try { 33 InputStream is = rfe.getResource().getInputStream(); 34 OutputStream os = new FileOutputStream(fileName); 35 int read = is.read(); 36 while ( read != -1 ) { 37 counter++; 38 os.write(read); 39 read = is.read ( ); 40 } 41 os.flush(); 42 os.close(); 43 is.close(); 44 System.out.println("Downloaded resource to '" + fileName + "' (" + counter + " bytes)" ); 45 } catch (IOException e) { 46 e.printStackTrace(); 47 } 48 } 49 } 50 51 } 52 | Popular Tags |