Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 148115
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T08:54:03+00:00 2026-05-11T08:54:03+00:00

I need to do something where the file sizes are crucial. This is producing

  • 0

I need to do something where the file sizes are crucial. This is producing strange results

filename = 'testThis.txt' total_chars = 0 file = File.new(filename, 'r') file_for_writing = nil while (line = file.gets)   total_chars += line.length end puts 'original size #{File.size(filename)}' puts 'Totals #{total_chars}' 

like this

original size 20121 Totals 20061 

Why is the second one coming up short?

Edit: Answerers’ hunches are right: the test file has 60 lines in it. If I change this line

  total_chars += line.length + 1 

it works perfectly. But on *nix this change would be wrong?

Edit: Follow up is now here. Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T08:54:03+00:00Added an answer on May 11, 2026 at 8:54 am

    There are special characters stored in the file that delineate the lines:

    • CR LF (0x0D 0x0A) (\r\n) on Windows/DOS and
    • 0x0A (\n) on UNIX systems.

    Ruby’s gets uses the UNIX method. So, if you read a Windows file you would lose 1 byte for every line you read as the \r\n bytes are converted to \n.

    Also String.length is not a good measure of the size of the string (in bytes). If the String is not ASCII, one character may be represented by more than one byte (Unicode). That is, it returns the number of characters in the String, not the number of bytes.

    To get the size of a file, use File.size(file_name).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to use .htaccess file to replace a word in a URL; something
I'm creating something that includes a file upload service of sorts, and I need
In C#, Whenever i need to get file path more dyanmically, i do something
I need something like this http://jonraasch.com/blog/a-simple-jquery-slideshow but w/o the absolute positioning. Is it possible?
I need something in between a full text search and an index search: I
I need something that takes a directory's contents and then proceeds to generate an
I need something simple like date , but in seconds since 1970 instead of
I need something like make i.e. dependencies + executing shell commands where failing command
I need something simple; I have page where a user clicks an author to
I need to add full web search to my site. I need something like

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.