![]() |
![]() |
![]() |
![]() |
![]() |
|
Finally, you are ready to look at the definition of the
MovieAuxiliaries class, which defines two methods: one for reading
movie descriptions from text files, and one for reading images from image
files.
Note that several packages are loaded, including java.net and
java.awt.image.
Note also that the method that reads movie descriptions is much like the method defined in Segment 613, except that it uses a resource locator to create a file stream. The method that reads images is used in Chapter 47:
import java.io.*; import java.awt.*;
import java.net.*; import java.util.*;
import java.awt.image.*; // Provides ImageProducer
public class MovieAuxiliaries {
public static Vector readMovieFile(String fileName) {
Vector v = new Vector();
try {
URL url = MovieAuxiliaries.class.getResource(fileName);
if (url == null) {return null;}
InputStream stream = (InputStream) (url.getContent());
if (stream == null) {return null;}
InputStreamReader reader = new InputStreamReader(stream);
StreamTokenizer tokens = new StreamTokenizer(reader);
tokens.quoteChar((int) '"'); tokens.eolIsSignificant(true);
while (tokens.nextToken() != tokens.TT_EOF) {
Movie m;
String nameString = tokens.sval;
tokens.nextToken(); int x = (int) tokens.nval;
tokens.nextToken(); int y = (int) tokens.nval;
tokens.nextToken(); int z = (int) tokens.nval;
if (tokens.nextToken() == tokens.TT_EOL) {
m = new Movie(x, y, z, nameString);
}
else {
String posterString = tokens.sval;
m = new Movie(x, y, z, nameString, posterString);
tokens.nextToken();
}
v.addElement(m);
}
return v;
}
catch (IOException e) {System.out.println(e);}
return null;
}
public static Image readMovieImage(String fileName) {
try {
URL url = MovieAuxiliaries.class.getResource(fileName);
if (url == null) {return null;}
ImageProducer producer = (ImageProducer) (url.getContent());
if (producer == null) {return null;}
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.createImage(producer);
return image;
}
catch (IOException e) {System.out.println(e);};
return null;
}}