Count characters in file

I have created the below code to count the number of characters in a file. It compiles but does not run.
It gives me the following error:
Exception in thread "main" java.io.FileNotFoundException: Test.txt (The system cannot find the file specified)
     at java.io.FileInputStream.open(Native Method)
     at java.io.FileInputStream.<init>(FileInputStream.java:106)
     at java.util.Scanner.<init>(Scanner.java:636)
     at CountFIle.main(CountFIle.java:18)
   import java.util.Scanner;      
     import java.io.File;
    public class CountFIle
       public static void main(String args[]) throws Exception
         File file = new File("Test.txt");
         Scanner input = new Scanner(file);
         int charLength = 0;
         while (input.hasNext()) {
            charLength++;
         System.out.println(charLength);
   }Can anyone please help me with this error???

1) It's considered bad form to hijack an old dead thread. Better to start a new one and show a link to this if necessary.
2) You have to actually read the file within the loop. The scan2.hasNext( ) only checks to see if another token is available. Within the loop you need to take that token and consume it somehow. i.e.,
Scanner scan2 = new Scanner (inputFile);
String thisToken = "";
while (scan2.hasNext())
    thisToken = scan2.next();
    //chars++;
}Though if you really want to know lines, words, and chars, you will probably check for hasNextLine( ), read the line into a string, parse the string into tokens all the while counting lines, tokens (words), characters,....

Similar Messages

  • Help using scanner class to count chars in file

    Hi all, I am learning Java right now and ran into a problem. I need to use the Scanner class to accurately count the number of chars in a file including the line feed chars 10&13.
    This what I have and it currently reports a 201 byte file as having 194 chars:
         File file = new File(plainFile);
         Scanner inputFile = new Scanner(file);
         numberOfChars = 0;
         String line;
         //count characters in file
         while (inputFile.hasNextLine())
              line = inputFile.nextLine();
              numberOfChars += line.length();
    I know there are other ways using BufferedReader, etc but I have to use Scanner class to do this.
    Thanks in advance!

    raichle wrote:
    Wow guys, thanks for the help! I've got a RTFMWell, what's wrong to have a look at the API docs for the Scanner class?
    and directions that go against the specs I said.Is that so strange to suggest a better option? What if I ask a carpenter "how do I build a table with a my stapler?". Should I give the man an attitude if he tells me I'd better use a saw and hammer?
    I'm also aware that it "eats" those chars and obviously looking for a way around that.
    I've looked through the java docs, but as I said, I'm new to this and they're difficult to understand. The class I am auditing req's that this be done using Scanner, but I don't see why you demand an explanation.
    Can anybody give me some constructive help?Get lost?

  • Maximum characters in file name of links?

    Is there a maximum number of characters in file names of links that InDesign can handle?
    If so, what is the character count?
    What about Mac OS X?
    Thanks in advance.

    One thing to bear in mind on the Mac is that the method used to connect to a server also influences how many characters a file name can have before being truncated. This may not be relevant if you work with files on your local drive but we used to connect to our (Windows) server via AFP and occasionally we'd receive Quark or ID docs and links (images) with long file names. Either you couldn't copy the files to the server as the name was too long, or if it had been copied to the server on another computer the doc would have broken links as it expects the link to have full names but the names of the files on the server (or how they appeared when connected by AFP) were truncated, so different. For those instances we'd connect via SMB which allows longer names.
    Now we connect via SMB across the board.
    Iain

  • File not found when using write characters to file

    OK, I am missing something really basic here.  Whenever I try to use the Write Characters to File function, if I try to give it a path beyond the C:\filename directory, it returns an error.  In other words, C:\Dan works, but C:\Dan\Test reurns an error. WHAT am I missing?

    Bingo! That is the problem. You have to make sure the directory exists before you attempt to write files to it.
         BTW: In LV there is a function for creating folders programatically. A good way to see if a directory exists is to attempt to list its
                   contents. If the list function returns an error, the directory doesn't exist and you have to create it.
    So make use of the error that the file write returns. If you get an error, start at the root of your path and test to see if each level exists, and if not create it. When you have all the folders in place repeat the file save.
    Mike...
    Message Edited by mikeporter on 05-24-2007 12:55 AM
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • BIG PROBLEM: CSS files not loading because of international characters in file name

    I have Muse Beta 7 in Spanish.
    The program creates a css file called master_a-página-maestra.css in css folder. It is referenced in the resulting HTML code here:
    <!-- CSS -->
      <link rel="stylesheet" type="text/css" href="css/site_global.css?3951792836"/>
      <link rel="stylesheet" type="text/css" href="css/master_a-p%c3%a1gina-maestra.css?fileVersionPlaceholder"/>
      <link rel="stylesheet" type="text/css" href="css/index.css?3948175564"/>
    When you work locally in your Windows formatted har drive, everything looks fine, but when you upload your files to a server, everything is screwed up. The server doesn't recognizes the URL and returns an error page, resulting in style errors in the entire site.
    This can also happens with html files if the title of the page contains international characters or with images if the image file name in your Hard Drive contains international characters.
    I already pointed out long time ago Muse was generating file names with international characters like á, ñ, etc but nobody cared about it. Too bad. I had to activate file name customization but I think that Muse should replace automatically this characters in the same way that it replaces other conflictive characters like commas or ampersands.
    This is not a fault of the FTP client. Accented characters are not web safe regardless of the FTP client you are using. It is a server side issue. Some servers support it some others don't. I don't mind if it works in Adobe Catalyst server because the final website is going to be in another server and maybe next year when paid hosting is ended the client may move it to another server.
    It makes more sense to replace accented characters in file names by their not accented equivalents ('a' instead of 'á', 'N' instead of 'Ñ', etc) and avoid all this problem.

    Zak, It is funny you mention it, because the site I am talking about is hosted in 1and1. try this: http://www.artofwalls.com/rosannawalls/biografía.html
    As you can see, the offending "í" in the file name causes 1and1 server to throw a "page not found" error. And this has happened with many other servers I have tried since.
    Muse boast of generating code fully compatible with all major web browsers but by using international characters in file names it ggenerates code suitable only for very few web servers. International characters have been always a no-no for internet URLs. Internet was designed by people who didn't care about ascii codes beyond 127 so using international characters in html file names is just call for problems.
    "to work with your hosting provider to determine how to enable Unicode encoded (UTF-8) file names and HTML files on their servers" is not a viable solution most of the time unless you are a Very Important Client of your host provider. If not, making changes means money for them and if you are the only one who complains, they are going to just tell you to not use international characters in your names.

  • Mail.app hang if mail attachment have special characters in file name

    Hello,
    I have upgraded to 10.5.1 from last version of Tiger.
    After upgrade is not possible send message with attachment which have a czech special characters in file name (like á, í, é, ý, ú, ů, ě, š, č, ř, ž) with Mail.app. If I try it, CPU is overloaded and I must kill Mail.app process.
    The same problem have my friends who are running a clear installation of Leopard 10.5.1.
    Thanks for correction.

    I have the same problem with Hungarian chars. I tried out Tomas suggestion and it really worked. It is so dissaponting to have this kind of bug in a system like this. They never tested against this situation.
    I hope somebody at apple read this discussion and somehow this will be fixed in the near future.

  • Count characters in Word for Mac

    Hi Guys, does sb know how can I count characters in Word for Mac? Pls help me... THX a lot!

    If you select the text you want a count of (or if you want the entire document, you can just leave nothing selected) and then go to the Tools menu and select Word Count you will get a dialog that includes the character count.
    I am using Word 2011, other versions may vary.

  • How to Make Itunes Recognize Foreign Characters in file names?

    How to Make Itunes Recognize Foreign Characters in file names?
    Any Body, please
    DELL Windows XP Pro

    That's not how it's supposed to work according to this: http://www.griffintechnology.com/support/italkpro/
    By default, a playlist will be created in iTunes called "Voice Memos" and those files will be transferred there automatically. The files themselves can be found on your computer in your iTunes Music folder in Unknown Artist > Unknown Album.
    It may be worth working through any trouble shooting articles on that site.
    Regards,
    Colin R.

  • Sqlldr does not understand unicode characters in file names

    Hello,
    I am trying to call sqlldr from a .net application on Windows to bulk load some data. The parameter, control, data, log files used by sqlldr, are all located in the C:\Configuración directory (note the unicode character in the directory name).
    Here is my parfile:
    control='C:\Configuración\SystemResource.ctl'
    direct=true
    errors=0
    log='C:\Configuración\SystemResource.log'
    userid=scott/tiger@orasrv
    When I make a call as
    sqlldr -parfile='C:\Configuración\SystemResource.par'I am getting
    SQL*Loader-100: Syntax error on command-line
    If I run it as
    sqlldr -parfile='C:\Config~1\SystemResource.par'I am getting
    SQL*Loader-522: lfiopn failed for file (C:\Configuraci├│n\SystemResource.log)
    If I remove the log= parameter from the parameter file, I am getting
    SQL*Loader-500: Unable to open file (C:\Configuraci├│n\SystemResource.ctl)
    SQL*Loader-553: file not found
    SQL*Loader-509: System error: The system cannot find the file specified.
    Can anyone suggest a way to handle unicode/extended ASCII characters in file names?
    Thanks,
    Alex.

    Werner, thank you for replying to my post.
    In my real application, I actually store the files in %TEMP%, which on Spanish and Portuguese Windows has "special" characters (e.g. '...\Administrador\Configuración local\Temp\'). In addition, you can have a user with the "special" characters in the name which will become part of %TEMP%.
    Another problem is that 8.3 name creation may be disabled on NTFS partitions.
    Problem #3 is that the short file names that have "special" characters are not converted correctly by GetShortPathName windows API, e.g. "Configuración" will be converted to "Config~1", but for "C:\ración.txt" the api will return the same "C:\ración.txt", even though dir /x displays "RACIN~1.TXT". Since I am creating the parameter and control files programmatically from a .net application, I have to PInvoke GetShortPathName.
    Any other ideas?
    Thanks,
    Alex.

  • French Characters in File Names

    Hello,
    Despite my instance not use French and/or other special
    characters in files names, we have inherited a project (approx 2500
    topics) with French characters in the file name. When we generated
    the project and post it on an Apache server, the topics do not
    display as the server replaces the characters with symbols.
    RX5, during the generation process, replaced the French
    characters with underscores, RX 7.0.1 keeps the characters within
    the file name. In RX 7.0.1 is it possible to replace the characters
    with underscores during the generation process?
    Regards,

    If this is the other thread, then you did get a response, several in fact. It may not have been the answer you wanted but that's another matter.
    http://forums.adobe.com/message/129875#129875
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Can I get a count of all files in a folder, including in subfolders?

    I know the various ways to get a count of items in a folder. This gives me the number of files and subfolders. Is there a way to include the number of files in the subfolders in the total folder count?

    I also found that, here: http://superuser.com/questions/198817/recursively-count-all-the-files-in-a-direc tory
    That will give you the count of just files, excluding the folders.
    If you want to count the non-hidden files, you can do this:
    find path/ -type f ! -name ".*" -flags nohidden | wc -l

  • Pls help.JSP: I could not store Chinese characters into files.

    Hi experts,
    I have this problem of cant store chinese characters into files(eg. .txt and .properties). I am adding
    these chinese text through a JSP website form....After i key in chinese characters in the textboxes
    in the website and sumbit the results, my chinese characters turned into ASCII or rather garbage in
    the files.
    Is there any way i can get the exact chinese characters i entered in the webite into the files?
    Need urgent assistance here.
    Thanks
    <%@ page contentType="text/html; charset=big5" %>
    <html>
    <head>
    <title>Confirmation</title>
    <meta http-equiv="Content-Type" content="text/html; charset=big5">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    </head>
    <%@ page language="java"%>
    <%@ page import="java.io.*"%>
    <%@ page import="java.lang.Integer.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.sql.ResultSet.*"%>
    <%@ page import="javax.servlet.*"%>
    <%@ page import="javax.servlet.http.*"%>
    <%@ page import="java.text.*"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.net.URL"%>
    <%
    //getting attributes from previous page form
    //At this point, chinese characters r retrieved
    //Ascii/garbage displayed for text when retrieved from previous page.
    String gameName=request.getParameter("name");
    String encode=request.getParameter("encode");
    String gameType=request.getParameter("type");
    String info=request.getParameter("description");
    int check=0;
    int nextGameID;
    String temp="";
    String langCode="";
    //establish connection
    Connection con = null;
    try {
    Class.forName("org.postgresql.Driver");
    con = DriverManager.getConnection("jdbc:postgresql://172.20.134.110:5432/smsINTFET" , "postgres",
    "postgres");
    catch(ClassNotFoundException e) {
    out.println("Could not load the driver: "+e.getMessage());
    catch(SQLException e) {
    out.println("SQLException caught in relax db: "+ e.getMessage());
    Statement stmt = null;
    ResultSet rs = null;
    ResultSet ps = null;
    String strSQL = "";
    String strSQL2 = "";
    String tempCat = "";
    strSQL="SELECT gamename FROM cp_games order by gameid;";
    try {
    stmt = con.createStatement();
    rs = stmt.executeQuery(strSQL);
    stmt.close();
    catch(SQLException e) {
    out.println("SQLException caught: "+ e.getMessage());
    while(rs.next())
    check=0;
    temp=rs.getString("gamename");
    if(temp.equalsIgnoreCase(gameName))
    // there is similar record in database
    check=1;
    break;
    else
    check=0;
    if(check==0)
    %>
    <body background="button/bkgd.jpg" bgproperties="fixed">
    <p><b><font size="30pts" face="Monotype Corsiva">Confirmation</font></b></p>
    <HR style="WIDTH: 500px; COLOR: blue; HEIGHT: 3px">
    The following information has been added.
    <table width="75%" border="0" cellspacing="0" cellpadding="2">
    <%
    String strCat="";
    strCat="INSERT INTO cp_games(gamename,description,encode) values('"+gameName+"','"+info+"','"+encode+"');";
    stmt = con.createStatement();
    stmt.executeUpdate(strCat);
    System.out.println("Successful inserted category");
    stmt.close();
    //setting language
    if(encode.equals("ascii"))
    langCode = "US";
    if(encode.equals("ms950"))
    langCode = "TW";
    if(encode.equals("ms936"))
    langCode = "CN";
    strSQL2="SELECT gameid FROM cp_games where gamename = '"+gameName+"';";
    try {
    stmt = con.createStatement();
    ps = stmt.executeQuery(strSQL2);
    stmt.close();
    catch(SQLException e) {
    out.println("SQLException caught: "+ e.getMessage());
    ps.next();
    nextGameID=ps.getInt("gameid");
    out.println("<B>The game number : </B>" + nextGameID);
    %>
    <tr>
    <td><B>Game added: </B><%=gameName%>
    </td>
    </tr>
    </table>
    <%
    String newFile="G:\\home\\smsGamesINTV2\\colorGame\\propertiesFiles\\FET\\CP_Game"+nextGameID+"_"+encode+"_"+langCode+".properties";
    try
    {               //begin file
    PrintWriter outFile=null;
    //create a new file and write the initial settings to file
    outFile=new PrintWriter(new FileOutputStream(newFile,true));
    outFile.println("game_intro="+nextGameID+")"+gameName+" - "+info);
    outFile.println("");
    outFile.println("game_title="+gameName);
    outFile.println("");
    outFile.println("game_type="+gameType);
    outFile.println("");
    outFile.println("qns_no=0");
    outFile.println("");
    outFile.println("ana_no=0");
    outFile.close();
    }//end file
    catch(IOException e)
    out.println("File Create Error");
    else // no match found
    out.println("Game,"+temp+ " already added");
    %>
    </body>
    </html>

    try to add this code under this line:
    <%@ page contentType="text/html; charset=big5" %>
    <% response.setContentType("text/html; charset=big5"); %>
    I have faced the problem like yours and it works fine for me. Try and see.

  • How to do complex file search for "word" unknown characters "word" .file extension?

    How to do complex file search for "word" unknown characters "word" .file extension?

    Using spotlight in Finder helps. Do you know how to search for files in Finder?

  • Remove LF characters from file names

    I have a folder full of files with filenames that contain LF character (ASCII code 10).  I want to use Automator's "Replace Text" funcion to remove these non printing characters from file names.  Is there a way to do it?
    If automator is not able to do this task, I will take a bash script or applescript solution as well...

    Take a look at: http://stackoverflow.com/questions/4417588/sed-command-to-fix-filenames-in-a-dir ectory
    (I changed  tr -d "\r\n" to tr -d "\n", but try both)
    for f in ~/Desktop/*
    do
        new="$(printf %s "$f" | tr -d "\n")"
        if [ "$f" != "$new" ]; then
            mv "$f" "$new"
        fi
    done

  • Write Characters to file.vi only outputs 3 columns, I need 4.

    I can format columns with 'tab', but I get a linebreak after column 3 so that data_4 appears on a new line.
    I cant find any line breaks.
    Attachments:
    iridium_two_channels_working_copy.llb ‏80 KB

    The line breaks are coming from the format to spreadhseet string functions...use a format number to fractional string function instead (on the string palette).
    Other observations;
    The sequence structure is not necessary, things will execute in the correct order if you let the data flow control the execution instead...and then the code becomes more readable.
    To use the write characters to file repeatedly in a for loop makes things very slow because then the file is opened and closed for each iteration...instead open the file prior to the loop, just do a write in the loop..and close the file when the entire loop has finished, if there is a lot of iteration to do this will speed up the executing tremendously...
    Mads
    MTO

Maybe you are looking for