So I spent a couple days reading the web site and documentation and getting
all excited and I decided I'm ready to start coding. So I crack my knuckles
and whip up a quick sample app just to make sure I understand the basics...
and it doesn't work. :(

------------------------------------
import javax.swing.*;
import java.io.*;
import net.sourceforge.poi.poifs.filesystem.*;

/**
 * Open an OLE CD file and count the entries.
 *
 * @author  Corey Nelson
 *
 * Excuse the sloppy style. :)
 */
public class DemoApp1 extends JFrame {

        public DemoApp1() {
                // Get user to choose a file
                JFileChooser fileChooser = new JFileChooser();
                int retVal = fileChooser.showOpenDialog(this);
                if(retVal == JFileChooser.APPROVE_OPTION) {
                        File file = fileChooser.getSelectedFile();
                        System.out.println(file);

                        try{
                                // Get an InputStream and POI Filesystem
from the file
                                InputStream in = new FileInputStream(file);
                                Filesystem fs = new Filesystem();

                                // Count the entries in root
                                DirectoryEntry root = fs.getRoot();
                                System.out.println(root.getName() + " " +
root.getEntryCount());
                        }
                        catch(IOException e) {
                                System.out.println(e);
                        }
                }
        }

        public static void main (String args[]) {
                DemoApp1 app = new DemoApp1();
                System.exit(0);
        }

}
------------------------------------

Here's some results:

C:\Documents and Settings\CoreyN\My Documents\NotebookTestFiles\5.nbk
Root Entry 0

C:\Documents and Settings\CoreyN\Book1.xls
Root Entry 0

C:\Documents and Settings\CoreyN\My Documents\todo.txt
Root Entry 0

------------------------------------

I'm sure I'm just doing something dumb or misunderstanding some fundamental
concept here. Shouldn't I be able to open and read an OLE Compound Document
this way? Shouldn't the Root have some entries? Shouldn't opening a none OLE
CD produce some sort or exception?

I'd appreciate it if someone could clue me in. Thanks.

Corey




Reply via email to