1 50 51 package org.openlaszlo.iv.flash.util; 52 53 import org.openlaszlo.iv.flash.api.*; 54 import org.openlaszlo.iv.flash.url.*; 55 import java.io.*; 56 57 62 public class MultipleUrlsReader implements LineReader { 63 64 private IVVector urls; 65 private LineReader curReader; 66 private int current; 67 private FlashFile file; 68 69 75 public MultipleUrlsReader( IVVector urls, FlashFile file ) throws IOException { 76 this.urls = urls; 77 this.current = 0; 78 this.file = file; 79 changeCurrent(); 80 } 81 82 private void changeCurrent() throws IOException { 83 IVUrl url = (IVUrl) urls.elementAt(current); 84 curReader = Util.getUrlReader(file, url); 85 } 86 87 public String readLine() throws IOException { 88 if( current >= urls.size() ) return null; 89 String line = curReader.readLine(); 90 if( line != null ) return line; 91 curReader.close(); 92 current++; 93 if( current >= urls.size() ) return null; 94 changeCurrent(); 95 readLine(); 97 return readLine(); 98 } 99 100 public void close() throws IOException { 101 if( current < urls.size() ) { 102 current = urls.size(); 103 curReader.close(); 104 } 105 } 106 107 } | Popular Tags |