C file handling LEARNOVITA

Basics of File Handling in C# Tutorial | The Ultimate Guide

Last updated on 12th Aug 2022, Blog, Tutorials

About author

Karan Baski (C# .Net Developer )

Karan Baski is a C# .Net Developer expert and subject specialist who has experience with Git, WPF,VB,.NET Framework,.NET Core, SVN,HTTP,.NET technology stack, WPF, C#, SQL server, Web API, ASP.NET. His articles help the learners to get insights about the Domain.

(5.0) | 18521 Ratings 2079

Introduction to File Handling in C#:

A document is an associate degree assortment of knowledge placed away in a very circle with a specific name and a register approach. At the purpose once a record is opened for reading or composing, it turns into a stream. The stream is essentially the succession of bytes hunting the correspondence approach. Their square measures 2 standards: the information stream and also the result stream. The data} stream is employed for reading information from the record (read activity) and also the result stream is employed for composing into the document (compose activity).

What is the record dealing with?

Record Handling is the swing away of knowledge in a document utilizing a program. within the C artificial language, the comedy store results, and completely different info of the program to a document utilizing record coping with in C. Likewise, we are able to extricate/get info from a record to figure with it within the program. The tasks that you just will perform on a go into C square measure.

Fundamentals of File Handling in C Programming:

Document Handling is the swing away of knowledge in a very record utilizing a program. within the C artificial language, the comedy store results, and completely different info of the program to a record utilizing document coping with in C. In addition, we are able to remove/bring info from a record to figure with it within the program.

The activities that you just will perform on a go into C square measure –

  • Making another record
  • Opening a current record
  • Perusing info from a current record
  • Composing info to a record
  • Moving info to a specific space on the record
  • Shutting the record

Making or gap record utilizing open(): The fopen() work is employed to create another record or open a current document in C. The open work is characterized within the studio.h header record. Presently, lets see the descriptive linguistics for production of another document or gap a record “file = fopen(“file_name”, “mode”)” This is a typical linguistic structure for each gap and creating a document in C.

Parameters: file_name − it’s a string that indicates the name of the record which will be opened or created utilizing the fopen strategy. mode: it’s a string (normally a solitary person ) that determines the mode whereby the record is to be opened. There are totally different modes accessible to open a document in C, we are going to determine just about all of them later during this article.

When can a file be made?

document = fopen(“hello.txt”, “w”)

The fopen capability can build another file once it won’t run any record of the predefined name within the preset space. Else, forward the record is discovered it’ll be opened with the mode determined. we must always see a will model which can build the concept understood, Suppose we tend to area unit gap a file named greeting.txt utilizing the open work. The attendant are the assertion. This will rummage around for a document named greeting.txt within the current index. forward the document exists, it’ll open the record the other approach it’ll build another document named “hello.txt” and open it with compose mode (indicated utilizing “w”).

Presently, we must always see a large variety of modes that are unit accessible for U.S.A. to examine or compose a document in C, and see code scraps which will show take a look at runs of the code. Mode = “r” − open for poring over, this mode can open the file for poring over reason simply, for instance, the substance should be seen, nothing else like alters ought to be attainable to that. This mode can’t build another document and open() returns NULL if we tend to build another record utilizing this mode.




“The record opened effectively in reading mode”. We have created a record named how-do-you-do.txt in our gift written account. Nonetheless, on the off chance that we tend to commit to get to a different document, we are going to get “The record is absent! can’t build another record utilizing r mode” as result. Mode = “RB” − open for perusal in twofold mode, this mode can open the record for perusal in paired mode simply, as an example, the substance should be seen and zip else like alters ought to be attainable thereto. This mode can’t build another record and open() returns NULL if we tend to commit to build another document utilizing this model.

File Handling in C#:

File Handling in C#

A record is AN assortment of knowledge placed away on a plate with a specific name and a catalog manner. Whenever a document is opened for perusal or composing, it turns into a stream. In C#, you actually wish to create a FileStream object to create another record or open a current document. The descriptive linguistics for creating a FileStream object is as per the subsequent –

Operation of File handling in C#:

Here, the record tasks are likewise enclosed as displayed beneath. The File Mode functionary characterizes completely different techniques for gap records. The people from the File Mode functionary ar ar

Add: It opens a current record and puts a pointer toward the end of the document, or makes the record if the document doesn’t exist.

Create: It makes another record.

Create New: It indicates to the operating framework that it has to create another record.

Open: It opens a current document. Open Or produce It determines to the operating framework that it ought to open a record forward if it exists, the other manner it has to create another document. File Access The File Access enumerators have individuals: browse, Read Write, and Write. File Share The File Share enumerators have the attendant people people Inheritable It permits a document handle to pass a bequest to the nestling processes

None: It decays sharing of this document

Peruse: It permits gap the document for reading> Read Write It permits gap the document for studying and composing Write> It permits gap the record for composing Allow the United States of America to ascertain a guide to induce the registries.

What is exemption coping with in C#?

Operation of File handling in C#

Special cases area unit a difficulty that emerges once a program is dead. The related watchword handles exemptions in C#.

Attempt: a trial block distinguishes a sq. of code that specific exemptions are unit motivated.

Get: The catch shibboleth demonstrates the obtaining of a special case.

At last: Execute a given arrangement of proclamations, whether or not or not Associate in Nursing exemption is tossed.

Toss: A special case is tossed once a difficulty seems in an exceedingly program.

C# I/O Classes:

The System.IO namespace has numerous categories that area unit used for playacting various operations with files, like making and deleting files, reading from or writing to a file, closing a file etc. the subsequent table shows some unremarkably used non-abstract categories within the System.IO namespace –

1 Binary Reader: Reads primitive information from a binary stream.

2 Binary author: Writes primitive information in binary format.

3 Directory: Helps in manipulating a directory structure.

4 Directory data: Used for playacting operations on directories.

5 Drive data: Provides info for the drives.

6 File: Helps in manipulating files.

7 File data: Used for playacting operations on files.

8 File Stream: Used to browse from and write to any location in an exceedingly file.

9 Memory Stream: Used for random access to streamed information kept in memory.

10 Path: performs operations on path info.

11 Stream Reader: used for reading characters from a computer memory unit stream.

12 String author: String author is employed for writing into a string buffer.

The File Stream Class:

The File Stream category within the System.IO namespace helps in studying from, writing to, and motility documents. This category comes from the theoretical category Stream. you wish to create a FileStream object to create another document or open a current record. The structure for creating a FileStream object is as per the subsequent

Progressed File Operations in C#:

The previous model provides basic record activities in C#. notwithstanding, to use the stupendous powers of C# System.IO classes, you wish to grasp the frequently utilized properties and methods for these categories.

Progressed File Operations in C#


C# making a vacant record: We should see the execution of a way to create associate degree empty text documents.

C# Deleting a document: We should see the execution of a way to erase a record if it exists during a predefined space.

C# Writing text during a File: We should associate degree illustration of a way to compose info during a text record,

C# Appending text during a File: We should settle for a model on adding the knowledge during a current text document utilizing StreamWriter category,

C# Copy and Move a File: We should settle for a model on the foremost skillful technique to duplicate and move a text document beginning with one drive then onto succeeding,

C# making another Directory: How concerning we have a tendency to see one final model on the simplest thanks to create a written account utilizing the Directory category

Data Types:

C# could be a specific language and that we ought to announce the kind of a variable that demonstrates the kind of qualities it’ll store, just like the range, float, decimal, text, and so on. the kinds of C# language area unit separated into 2 elementary classifications.

  • Esteem varieties
  • Reference varieties.
c# Data types

Instructions to browse PDF Files in C#

    1. 1. transfer browse and Write PDF C# Library.
    2. 2. Install NuGet to check the Library.
    3. 3. Extract pictures or Text from PDF.
    4. 4. browse and realize Words in Specific Documents.
    5. 5. read PDF Output from your distinctive archive.


C# is a commentary organized artificial language that was created by Microsoft in 2000. it’s upheld by numerous operating frameworks. C# is that the essential language that’s utilized to form .Net programming applications. It permits the US to form Windows UI applications, backend administrations, controls, libraries, robot applications, and even blockchain applications. C# chips away at the thought of categories and things much like Java. some of the C# highlights area unit as per the following:

  • Follows organized methodology
  • Boundaries passing is easy
  • Code are often gathered on associate degree alternate stage
  • Open-source
  • Object-situated
  • Adaptable and versatile

The Scopes of Variables in C#:

The piece of the program wherever a particular variable is accessible is known as because the Scope of that variable. A variable are often characterized in an exceedingly category, strategy, circle, and then on in C/C++, all identifiers area unit lexically (or statically) checked, i.e. Scope of a variable not entirely set in stone at composing the time and autonomous of the capability decision stack. Be that because it could, the C# programs are unit coordinated as categories.

So, C# scope rules of things are often separated into 3 classifications as follows:

  • Class Level Scope
  • Technique Level Scope
  • Block-Level Scope

Class Level Scope: Pronouncing the factors in an exceedingly category nevertheless outside any strategy are often foursquare gotten to anywhere within the category. These factors are units in addition named because of the fields or category people. category level checked variables are often gotten to by the non-static methods for the category wherever it’s proclaimed. The access modifier of class-level factors doesn’t influence their extension within a category. Part factors will likewise be gotten to outside the category by utilizing the doorway modifiers.

Strategy Level Scope: Factors that are units proclaimed within a method have a strategy-level degree. These aren’t open external techniques. Notwithstanding, these factors are often gotten to by the settled code blocks within a method. These factors are units named because of the near factors. There will be a gathering time blunder assuming these factors are unit units pronounced twice with the same name in an exceedingly similar degree. These factors do not exist once the strategy’s execution is finished.

Block Level Scope: These factors are unit for the foremost half declared within the for, whereas articulation so forth These factors are unit likewise named because the circle factors or proclamations variable as they need restrict their degree up to the body of the assertion whereby it’s pronounced. By and large, a circle within a method has 3 degrees of settled code blocks (i.e., category level, technique level, circle level). The variable that is announced outside the circle is likewise open within the settled circles. It implies a class-level variable is offered to the techniques and every one circles. Technique level variables are hospitable circles and strategies within that strategy. A variable that’s announced within a circle body won’t be apparent to the skin of the circle body.


Memory security: The code is trash gathered. never stress over a wanderer reference obtaining incomprehensible somewhere – except if you’ve got one thing that’s how or another clutching references to stuff, any memory with nothing informed at it’ll ultimately get liberated. Memory spills area unit GONE! (It’s so far conceivable to spill memory in C#, it’s merely abundant and more durable to do).

Reflection: C# categories have information which will be gotten to at runtime, together with the category name, all the property names, and data concerning ways, and this massive variety of things may be gotten to and summoned on objects at runtime. This empowers you to compose code which will use categories that weren’t attentive to once that code was created, creating things like runtime serialization, reliance infusion, and a large variety of metaprogramming, a snap distinction with C++. C++ is supplied for run-time sort ID (RTTI) but it’s not even shut as sturdy as C# reflection.

ou can likewise add discretionary information to just about something utilizing Attributes – categories, properties, fields, techniques, even strategy boundaries. Reflection even will manufacture new categories and techniques at runtime, empowering runtime intermediaries, strategy block tries from there, the sky is that the limit. It will investigate and alter code utilizing Expressions.

Language Integrated question (LINQ):

Working with assortments utilizing LINQ takes an excellent deal of considering circles out of true. instead of composing your kind, channel, guide, join, and different set tasks in a circle that another programmer would wish to unroll to mapped out what they’re for, C# incorporates a modest bunch of parts that, once consolidated, remodel all that into deeply communicative helpful programming.

Task Parallel Library (TPL): Doing way-out and in addition equal programming in C# is just utilizing the trip as an equal library. (All things thought-about, as easy as correspondence will get). Indeed, C# upholds strings, however, plenty less complicated than following strings is utilizing Tasks – sharing units of labor as critical considering strings.

Heaps of syntactic sugar: Assuming that it’s done perpetually, there’s presumptively shorthand for it. Invalid checking and invalid combining administrators? additionally ?? kill the if (x == invalid) checks you’d a way or another see out of management. way-out state machines may be made space utilizing the async and anticipate directors (which finally end up wrapping errands in any case). Identification categories may be made quickly utilizing the yield to bring watchwords back. style matching was given during a genuinely late type and it’s been up from that time onward, and it’s quite cheap, additional communicative and pliable than switch/case blocks.


  • Quick as C# The thought of overseen code is it finally ends up running slower than unmanaged code, given an analogous calculation. Checks price your time and everything is checked.
  • In addition to the very fact that it’s slower, trash assortment is mostly non-deterministic, creating it through and through unacceptable for constant applications while not doing a number of quite bound things.
  • The data et al that empowers reflection, memory security, and completely different treats imply you finish up with additional runtime memory utilization.
  • Assuming you wish pointers, they exist, nevertheless you’ll involve them in unwieldy ‘dangerous’ blocks.
  • It’s a significant language. For some, monumental scaring.


We trust this text with different realistic models motor-assisted you with understanding the thought of document submitting C# language. On the off chance that you simply have any queries, if it’s not an excessive amount of bother, allow us to apprehend within the remark phase. We tend to be a unit glad to handle your queries.

Are you looking training with Right Jobs?

Contact Us

Popular Courses