Вот что у меня сработало:
public class MyReader extends BufferedReader {
// You can choose whatever replacement you'd like(one wont occur in your text)
private static final char TAB_REPLACEMENT = '\u0000';
public MyReader(Reader in) {
super(in);
}
@Override
public int read() throws IOException {
int charVal = super.read();
if (charVal == '\t') {
return TAB_REPLACEMENT;
}
return charVal;
}
}
и затем создайте токенизатор:
myTokenizer = new StreamTokenizer(new MyReader(new FileReader(file)));
и получите новый strval по
MyTokenizer.sval.replace(TAB_REPLACEMENT, '\t')