Introduction to Text File Handling with TypeScript

Introduction

Welcome to the first lesson in our course on "Fundamentals of Text Data Manipulation." This lesson will introduce you to the essential skill of reading text files using TypeScript, specifically with Node.js. Text files are a vital data source in programming, commonly used for storing data, configuration files, and logs. Being able to open and read files in TypeScript is a foundational skill you'll often rely on when working with data. By the end of this lesson, you will be able to read the entire contents of a text file into a string, an essential skill for various data manipulation tasks. Let's get started!

Working with File Paths

A file path is essentially the address of a file in your system's storage. It tells your program where to find or save a file. There are two types of file paths:

  • Absolute Path: This is the full path to a file, starting from the root directory. Here are some examples from different operating systems:

    • Linux: /home/user/documents/input.txt
    • Mac: /Users/user/documents/input.txt
    • Windows: C:\\Users\\user\\documents\\input.txt
  • Relative Path: This path is relative to the directory from which the script is executed. For example, documents/input.txt assumes your script is running from the user directory in the examples above.

Here's how you can specify a file path in TypeScript using Node.js:

TypeScript
const filePath: string = 'input.txt';  // Relative path

Make sure your Node.js script and the text file are in the same directory if you use a relative path. Otherwise, use the absolute path to ensure that Node.js can find your file.

Defining Relative Paths with Examples

When working with relative paths, it's important to understand the structure of your directories. Here are a few examples with file trees:

  1. Example 1:

    File Tree:

    text
    project/
    ├── script.ts
    └── data/
        └── input.txt

    Relative Path:

    TypeScript
    const filePath: string = 'data/input.txt';
  2. Example 2:

    File Tree:

    text
    user/
    ├── documents/
    │   └── script.ts
    └── input.txt

    Relative Path:

    TypeScript
    const filePath: string = '../input.txt';

    The .. is used to navigate to the parent directory. It works this way in both MacOS/Linux and Windows.

  3. Example 3:

    File Tree:

    text
    application/
    ├── scripts/
    │   ├── script1.ts
    │   └── script2.ts
    └── resources/
        └── input.txt

    Relative Path (assuming the script is in either script1.ts or script2.ts):

    TypeScript
    const filePath: string = '../resources/input.txt';

These examples illustrate how relative paths depend on the current working directory of your script.

Sign up

Join the 1M+ learners on CodeSignal

Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal