All pastes #732973 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-10-11 12:53 UTC
rendered paste body
package y2e1;

import java.io.*;
import java.net.*;
import java.util.*;

public class RSSReader {
	
	public static void main(String[] args){
		
		ArrayList<String> feedList = new ArrayList<String>();
		String out = "sampleRSS.txt";
		Boolean write = true;
		
	try{
		
		RandomAccessFile outputFile = new RandomAccessFile(out, "rw");

		//Open necessary connections to receive data from file
		URL rssUrl = new URL(args[0]);
		URLConnection c = rssUrl.openConnection();
		c.connect();
		InputStream i = c.getInputStream();
		InputStreamReader isr = new InputStreamReader(i);
		BufferedReader br = new BufferedReader(isr);
		
		String inputString;
		inputString = br.readLine();
		
		// append file if already exists & add current links to arraylist
		if(outputFile.length() >0){
			String fileString;
			fileString = outputFile.readLine(); // <-- reads first line perfectly.
			outputFile.seek(outputFile.length());
			
			while(fileString != null){
				if(fileString.contains("<link>"))
					feedList.add(fileString);
				fileString = outputFile.readLine();	// <-- reads null O_o
			}
		}
		
		while(inputString != null){
			
			write = true;
			
			if(feedList.size() != 0 && inputString.contains("<item>")){
				
				long temp = outputFile.getFilePointer();
				String strTemp = br.readLine();
				
				while(!inputString.contains("</item>") && write){
						strTemp = br.readLine();
					if(strTemp.contains("<link>") && feedList.contains(strTemp))
						write = false;
				}
				outputFile.seek(temp);
			}
			if(write){
				outputFile.writeBytes(inputString);
				outputFile.writeBytes("\n");
			}
			inputString = br.readLine();
		}
		
		//Close streams and report success
		i.close();
		System.out.println("Operation Complete");
	
	
	}
	catch(FileNotFoundException e){System.err.println(e.getMessage());}
	catch(MalformedURLException e){System.err.println(e.getMessage());}
	catch(IOException e){System.err.print("Data Not Received From Location: ");System.err.println(e.getMessage());}}
	
}

first few lines in outputFile : 
<?xml version="1.0"?>
<rss version="2.0">
  <channel>

the second outputFile.readLine() should therefore not be null, yet it is every  time :s