java.io.FileNotFoundException

Below is how i connect to a file and trying to read from it. the file is
in the same directory as the source code. Why am i having this error message:
Unexpected IO erro: java.io.FileNotFoundException: cdDdatabase.txt (The system cannot find the file specified)

================= SOURCE ===============
try
        {
             BufferedReader infile = new BufferedReader
                                         ( new FileReader("cdDdatabase.txt"));
             
            while( ( line = infile.readLine()) != EOS )
            {
komlaaaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

objectsCommented:
the file needs to be in the same directory you are running it from.
0
komlaaaAuthor Commented:
It is in the same directory as i am running from
0
objectsCommented:
then it should find it, what command do you use to run it?
0
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

vikraman_bCommented:
Before we can read from or write to a file we must first open the file. To open a file for reading we use the constructor contained FileReader class:

FileReader file = new FileReader("HelloWorld2.java");

This creates a stream object, called file, to read from a file called HelloWorld2.java (Table 1) contained in the current directory. If the named file cannot be opened a FileNotFoundException is generated. Consequently, whereas previously we declared instances of the InputStreamReader class as class instances we must now declare them as local instances within a method. Having done this we can now use the file object to create an instance of the BufferedReader class as before:

FileReader file          = new FileReader("HelloWorld2.java");
BufferedReader fileInput = new BufferedReader(file);

Note the similarity between this and the declarations used in the code given in Table 2:

 
InputStreamReader input         = new InputStreamReader(System.in);
BufferedReader    keyboardInput = new BufferedReader(input);

The BufferedReader constructor requires its argument to be an instance of the class Reader (or a sub-class of the class Reader), both the InputStreamReader and the FileReader classes are sub-callses of Reader and will therefore suffice. A class diagram illustrating the connections between these different classes is presented in Figure 1.

0
vikraman_bCommented:
Post ur code and the directory structure u kept.....i'll check it out
0
komlaaaAuthor Commented:
============================= THE CODE =========================

 public void read()
    {
           CDCollections = new HashMap();
     
        String line;
        try
        {
             BufferedReader infile = new BufferedReader
                                         ( new FileReader("database.txt"));
             
            while( ( line = infile.readLine()) != EOS )
            {
                String fields[] = line.split("\\|");
                if( 0 == Integer.parseInt(fields[1]))
                {
                   typeOfCd = new Cd();
                   ((Cd)typeOfCd).read(fields, infile);
                   CDs.add(typeOfCd);
                }
               
               if( 1 == super.getType() )
               {
                   typeOfCd = new CompilationCd();
                   ((CompilationCd)typeOfCd ).read(fields, infile);
                   CDs.add(typeOfCd);
               }
              CDCollections.put(fields[1], typeOfCd );
              CdCategories.add(fields[1]);
             }
               infile.close();
         }
        catch(IOException e)
        {
            System.err.print("Unexpected IO erro: " + e);
        }
    }
   
0
objectsCommented:
the codes fine, you just need to ensure the file database.txt is in the same directory as you are tunning the applciation from.
0
objectsCommented:
otherwise include the full path to the file.
eg. if the file is in /database/files/database.txt then use:

             BufferedReader infile = new BufferedReader
                                         ( new FileReader("/database/files/database.txt"));
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dunglaCommented:
the file needs to be in the same directory you are running it from, for example, i have a project (create by NetBean) name MyApp, source file placed in MyApp/src/mypackage/source.java

and text file should be in MyApp/Text.txt

BufferedReader infile = new BufferedReader(new FileReader("Text.txt")); //will work correctly.

Other wise, you need to put fullpath of files.
0
komlaaaAuthor Commented:
my bad splitting the point, could the page editor give , the assisted answer points to dungla ?
0
gnoonCommented:
Use

System.out.println(new File("cdDdatabase.txt").getAbsolutePath());

to see what's the file absolute path and see does it exists on that path.

Are you writing java applet?
0
gnoonCommented:
Haha .... so late ;-)
0
komlaaaAuthor Commented:
I guess i just find a bug in this EE page implementation: The software shouldn't let me split point among the same Experts
see...?
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.