I'm unclear about the use of the phrases "infinite" language or "finite" language in computer theory.
I think the root of the trouble is that a language like $L=\{ab\}^∗$ is infinite in the sense that it can generate an infinite (but countable) number of strings. Yet, it can still be recognized by a finite state automaton.
I rather think the root problem is that formal language theory is rather sloppy in how it tends to use the term "language", and you are confusing languages with denotations for languages as a result.
To everybody in this world except people in formal language theory, a language is a system of utterances used to communicate, so each utterance has a form (its syntax) and some sort of meaning (its semantics). Formal language theory, at least the part that is used in computer science, is devoted to the problem of how best to define, formally, the syntax of languages. It is all about the relationship between the syntax of languages (what the utterances look like) and formalisms (languages!) such as regular expressions that are used to define the syntax of languages. Hence, in formal language theory, 'a language' is defined simply as 'a set of strings'.
So in formal language theory, strictly speaking, $ab^*$ is not a language; rather, it is a regular expression that denotes a language, namely, the set of strings that I can also indicate as follows: $\{a, ab, abb, abbb, \ldots \}$. The expression is finite, while the language it denotes is not.
Whenever a text on formal languages uses an expression such as $ab^*$ that denotes a language, ask yourself whether it is discussing the regular expression itself (e.g. how it is constructed, which language it denotes, etc.) or whether it merely uses the regular expression to refer to the language being denoted.
ab*(Kleene star) means that you can have zero or more combinations of the stringab, this includes a potential infinite number of strings: {"", ab^1, ab^2, ab^3, .... , ab^n}. You can however still build a FSM that recognizes this language because there is no way in reality to generate an infinite string, when processed by a machine all of the strings have to be finite, but that doesn't make the language itself finite. The languages infinite-ness is theoretical. – Hunter McMillen Nov 11 '12 at 1:23