Solved

Where do I put the filename to be read?

Posted on 2004-08-16
10
207 Views
Last Modified: 2010-03-31
I trying to use a stream tokenizer to count the number of lines in a text file using the eolIsSignificant method(). Where do I put the filename to be read? This compiles OK but of course I'm not sure while to put the file name so I it print no lines.


import java.io.*;
import java.util.*;

public class LineCounter {
  public static void main(String args[])
  {
    if (args.length == 0) {
      System.err.println("no lines");
      System.exit(1);
    }
    int lineCount = 0;
    try {
      FileReader fr = new FileReader(args[0]);
      BufferedReader br = new BufferedReader(fr);
      StreamTokenizer st = new StreamTokenizer(br);
      st.eolIsSignificant(true);
      int type;
      while ((type = st.nextToken()) != StreamTokenizer.TT_EOF) {
        if (type == StreamTokenizer.TT_EOL){
          ++lineCount;
        }
      }
      br.close();
      // Always one more line than EOLs
        if (lineCount > 0){
          ++lineCount;
        }
      }
      catch (IOException e) {
        System.err.println(e);
      }
      System.out.println("There are " + lineCount + " lines in file " + args[0]);
   }
}
0
Comment
Question by:lrobinson2001
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 5
10 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 11810535
The file name is passed in as the first parameter to the program
0
 

Author Comment

by:lrobinson2001
ID: 11810551
Do you mean here? public static void main(String args[])
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 11810557
java LineCounter fileName.txt
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 86

Accepted Solution

by:
CEHJ earned 50 total points
ID: 11810565
>>Do you mean here?

I mean on the command line as i showed above
0
 

Author Comment

by:lrobinson2001
ID: 11810572
Or here?FileReader fr = new FileReader(args[0]);
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 11810606
;-)
0
 

Author Comment

by:lrobinson2001
ID: 11810997
I still must be putting in the wrong place. Can you show where you mean. I am trying to read a file I put in my c:\Temp\readfile.text
0
 

Author Comment

by:lrobinson2001
ID: 11811157
I'm using netbeans and not a command line
0
 

Author Comment

by:lrobinson2001
ID: 11811192
Should I put code to read the file somewhere? Kinda confused. I'm a new at this.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 11811445
>>I'm using netbeans and not a command line

Then you must find out, if you're using an IDE, what command line the IDE is using to run the class and how to change it
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
Suggested Courses

622 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question