I think I can see where you are going with this. Essentially getting the java right and working, then using the ASM output to turn the java into the equivalent <> instructions - YES? This will almost work. The part that will get tricky is that the only object you can pass into or get back from java is a ProtoObject.
So you need to wrap and unwrap these accordingly to your needs.
For example, when you get a ProtoObject that is a Smalltalk String it has a javavalue that is the Java String. You can see this sort of thing in action in Primitives.java
When a Character is returned you need to new the Character and set its javavalue.
Your FileStream.st will end up having an initialize that calls javavalue to store the RandomAccessFile you open during initialisation or which ever method opens the actual file.
Does this help?
Given Im just about to go into Christmas mode with my twins I can't add more right now. However, Ill keep a check on my email.