This language bar is your friend. Select your favorite languages!

Idiom #197 Get a list of lines from a file

Retrieve the contents of file at path into a list of strings lines, in which each element is a line of the file.

import "os"
import "strings"
func readLines(path string) ([]string, error) {
	b, err := os.ReadFile(path)
	if err != nil {
		return nil, err
	lines := strings.Split(string(b), "\n")
	return lines, nil
#include <fstream>
std::ifstream file (path);
for (std::string line; std::getline(file, line); lines.push_back(line)) {}
using System.IO;
using System.Collections.Generic;
using System.Linq;
        public List<string> GetLines(string _path)
            return File.ReadAllLines(_path).ToList();
import 'dart:io';
var lines = File(path).readAsLinesSync();
import fs from "fs";
import java.io.File;
import java.nio.file.Files;
import java.util.List;
import java.util.stream.Collectors;
String text = Files.readString(new File(path).toPath());
List<String> lines = text.lines().collect(Collectors.toList());
import java.io.File;
import java.nio.file.Files;
import java.util.List;
List<String> lines = Files.readAllLines(new File(path).toPath());
import java.io.File
val lines = File(path).readLines()
$lines = file($path);
if ($lines === false)
  die("Can't open file $path");
uses Classes;
  Lines: TStringList;
  Lines := TStringList.Create;
use Path::Tiny qw(path);
my @lines = path($path)->lines;
with open(path) as f:
    lines = f.readlines()
lines = open(path).readlines
use std::io::prelude::*;
use std::io::BufReader;
use std::fs::File;
let lines = BufReader::new(File::open(path).unwrap())
Dim lines = IO.File.ReadAllLines(path).ToList

New implementation...
< >