- 1
- 2
- 3
- 4
- 5
- 6
private static class NullReader extends Reader {
public int read(char[] cbuf, int off, int len) {
return 0;
}
public void close() {}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+74
private static class NullReader extends Reader {
public int read(char[] cbuf, int off, int len) {
return 0;
}
public void close() {}
}
Однажды понадобилось работать с модулем, который что-то читает с помощью StreamTokenizer, но вместо реального файла подсовывать ему что-то своё, генерируемое на ходу, и при этом быть в курсе, какое место он сейчас читает. Решил пронаследоваться от StreamTokenizer и переопределить ему nextToken(). Оказалось, что у StreamTokenizer нет пустого конструктора, надо обязательно вызвать super и передать туда какой-нибудь Reader. Попробовал передавать null - оказалось, что в его конструкторе стоит проверка, которая сразу кидает NullPointerException. Блин, зачем ему Reader, если он к этому Reader никогда не обратится, ведь я nextToken переопределил! Пришлось сделать свой Reader-заглушку. Но чтобы пронаследоваться от абстрактного Reader, нужно обязательно определить методы read и close. Вот такая шняга в итоге получилась. Недавно случайно открыл код на этом месте и долго на неё пялился :-)
bormand 23.11.2012 13:43 # +2
http://govnokod.ru/11645
GoblinAlchemist 23.11.2012 15:06 # 0
tir 23.11.2012 15:02 # +1
guest 23.11.2012 15:25 # +3
3.14159265 23.11.2012 15:38 # 0
guest 23.11.2012 16:19 # −5
guest 23.11.2012 19:48 # −1
Гумно, это ты? Ты не нужен.