ColdFusionで、ファイルを後ろから読み込む方法

cffileタグでは実現できないみたいだったため、javaでなんか組んでそれを外部APIを呼ぶみたいな感じのことをしなきゃいけないのかなぁ・・・みたいに考えていたのですが、微妙に違う方法がありました。
CreateObject関数でjavaクラスを生成しちゃえばいいんですね。
なぜ知らない、俺。勉強不足だなぁ。

というわけでcfでのtailな関数を書きました。
偉い人!添削して!

※注! このコードMX7では動きませんです。修正版はMX7では(?)javaCastが必要だった - 絵の具日記を見てください。

<cffunction name="tailread">
	<cfargument name="filename" type="string" require="true">
		<cfset reader=CreateObject("java", "java.io.RandomAccessFile")>
		<cfset reader.init("#ARGUMENTS.filename#", "r")>
		<cfset tailline="" >
		<cftry>
			<cfloop index="counter" from="#reader.length() - 1#" to=0 step=-1>
				<cfset reader.seek( counter ) >
				<cfset readChar = reader.read()>
				<cfif "#readChar#" IS "10" AND "#tailline#" IS NOT "" >
					<!--- 改行を見つけたらbreak --->
					<cfbreak>
				<cfelseif "#readChar#" IS NOT "10" AND "#readChar#" IS NOT "13" >
					<!--- 復帰文字、改行文字でなければ読み出し --->
					<cfset tailline = Chr( readChar ) & tailline >
				<cfelse>
					<!--- nothing --->
				</cfif>
			</cfloop>
			<cfset reader.close() >
		<cfcatch>
			<cfset reader.close()>
			<cfthrow object=cfcatch >
		</cfcatch>
		</cftry>
		<cfreturn tailline />
</cffunction>