FileDocCategorySizeDatePackage
TabSeparatedValueHandler.javaAPI DocExample1177Sat Sep 09 21:21:20 BST 2000com.macfaq.net.content

TabSeparatedValueHandler.java

package com.macfaq.net.content;

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


public class TabSeparatedValueHandler extends ContentHandler {

  public Object getContent(URLConnection uc) throws IOException {
  
    String theLine;
    Vector v = new Vector();
     
    InputStreamReader isr = new InputStreamReader(uc.getInputStream());
    SafeBufferedReader in = new SafeBufferedReader(isr);   
    while ((theLine = in.readLine()) != null) {
      String[] linearray = lineToArray(theLine);
      v.addElement(linearray);
    }
      
    return v;
  
  }

  private String[] lineToArray(String line)  {
  
    int numFields = 1;
    for (int i = 0; i < line.length(); i++) {      
      if (line.charAt(i) == '\t') numFields++;
    }
    String[] fields = new String[numFields];
    int position = 0;
    for (int i = 0; i < numFields; i++) {
      StringBuffer buffer = new StringBuffer();
      while (position < line.length() && line.charAt(position) != '\t') {
        buffer.append(line.charAt(position));
        position++;
      }
      fields[i] = buffer.toString();
      position++;
    }
    
    return fields;
  
  }

}