텍스트 파일의 줄 수 세기는 프로그래머들에게 자주 사용되는 기본적인 기능입니다. 이 예제에서는 다양한 프로그래밍 언어로 작성된 코드를 통해 텍스트 파일을 읽어들이고, 그 파일의 줄 수를 계산하고 출력하는 방법을 살펴보겠습니다. 이를 통해 각 언어의 파일 처리와 문자열 조작 기능에 대한 이해를 높일 수 있습니다.
텍스트 파일의 줄 수 세기 (C#)
이 프로그램은 C# 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: CountLinesInTextFile.cs
using System;
using System.IO;
class CountLinesInTextFile
{
static void Main()
{
try
{
// 파일을 읽기 모드로 열기
using (StreamReader file = new StreamReader("example.txt"))
{
int lineCount = 0; // 줄 수를 저장할 변수
string line; // 파일에서 읽은 문자열을 저장할 변수
// 파일 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽기
while ((line = file.ReadLine()) != null)
{
lineCount++; // 줄 수 증가
}
// 파일에 있는 줄 수를 출력
Console.WriteLine("파일에 있는 줄 수: {0}", lineCount);
}
}
catch (Exception e)
{
// 파일 열기 실패 시 오류 메시지 출력 후 종료
Console.WriteLine("파일 열기 실패: {0}", e.Message);
}
}
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 StreamReader
클래스를 사용하여 텍스트 파일을 읽기 모드로 열고, ReadLine
메소드를 이용하여 파일의 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기
이 프로그램은 C 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: count_lines_in_text_file.c
#define _CRT_SECURE_NO_WARNINGS // Visual Studio에서 보안 경고를 무시하도록 설정
#include <stdio.h>
int main(void)
{
// 파일을 읽기 모드로 열기
FILE* file = fopen("example.txt", "r");
// 파일 열기 실패 시 오류 메시지 출력 후 종료
if (file == NULL)
{
printf("파일 열기 실패\n");
return 1;
}
int n_lines = 0; // 줄 수를 저장할 변수
char c; // 파일에서 읽은 문자를 저장할 변수
// 파일 끝(EOF)에 도달할 때까지 문자를 하나씩 읽기
while ((c = fgetc(file)) != EOF)
{
// 줄바꿈 문자(\n)을 발견하면 줄 수 증가
if (c == '\n')
{
n_lines++;
}
}
// 파일에 있는 줄 수를 출력
printf("파일에 있는 줄 수: %d\n", n_lines);
// 파일 닫기
fclose(file);
// 프로그램 정상 종료
return 0;
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 fopen
함수를 사용하여 텍스트 파일을 읽기 모드로 열고, fgetc
함수를 이용하여 파일의 끝(EOF)에 도달할 때까지 문자를 하나씩 읽습니다. 줄바꿈 문자(\n)를 발견할 때마다 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (Java)
이 프로그램은 Java 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: CountLinesInTextFile.java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class CountLinesInTextFile {
public static void main(String[] args) {
// 파일을 읽기 모드로 열기
try (BufferedReader file = new BufferedReader(new FileReader("example.txt"))) {
int n_lines = 0; // 줄 수를 저장할 변수
String line; // 파일에서 읽은 문자열을 저장할 변수
// 파일 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽기
while ((line = file.readLine()) != null) {
n_lines++; // 줄 수 증가
}
// 파일에 있는 줄 수를 출력
System.out.println("파일에 있는 줄 수: " + n_lines);
} catch (IOException e) {
// 파일 열기 실패 시 오류 메시지 출력 후 종료
System.out.println("파일 열기 실패: " + e.getMessage());
}
}
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 BufferedReader
클래스를 사용하여 텍스트 파일을 읽기 모드로 열고, readLine
메소드를 이용하여 파일의 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (Python)
이 프로그램은 Python 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: count_lines_in_text_file.py
try:
# 파일을 읽기 모드로 열기
with open("example.txt", "r") as file:
n_lines = 0 # 줄 수를 저장할 변수
# 파일 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽기
for line in file:
n_lines += 1 # 줄 수 증가
# 파일에 있는 줄 수를 출력
print(f"파일에 있는 줄 수: {n_lines}")
except FileNotFoundError:
# 파일 열기 실패 시 오류 메시지 출력 후 종료
print("파일 열기 실패")
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 open
함수를 사용하여 텍스트 파일을 읽기 모드로 열고, 파일의 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (Node.js)
이 프로그램은 Node.js로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: count_lines_in_text_file.js
const fs = require('fs');
try {
// 파일을 읽기 모드로 열기
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
// 파일 열기 실패 시 오류 메시지 출력 후 종료
console.error('파일 열기 실패:', err.message);
return;
}
// 줄 수를 저장할 변수
let n_lines = data.split('\n').length - 1;
// 파일에 있는 줄 수를 출력
console.log(`파일에 있는 줄 수: ${n_lines}`);
});
} catch (err) {
// 파일 열기 실패 시 오류 메시지 출력 후 종료
console.error('파일 열기 실패:', err.message);
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 Node.js의 fs
모듈을 사용하여 텍스트 파일을 읽기 모드로 열고, 파일의 내용을 문자열로 가져옵니다. 줄바꿈 문자('\n')를 기준으로 문자열을 나누어 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (C++)
이 프로그램은 C++ 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: count_lines_in_text_file.cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
// 파일을 읽기 모드로 열기
std::ifstream file("example.txt");
// 파일 열기 실패 시 오류 메시지 출력 후 종료
if (!file.is_open()) {
std::cerr << "파일 열기 실패" << std::endl;
return 1;
}
int n_lines = 0; // 줄 수를 저장할 변수
std::string line; // 파일에서 읽은 문자열을 저장할 변수
// 파일 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽기
while (std::getline(file, line)) {
n_lines++; // 줄 수 증가
}
// 파일에 있는 줄 수를 출력
std::cout << "파일에 있는 줄 수: " << n_lines << std::endl;
// 파일 닫기
file.close();
return 0;
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 C++의 ifstream
클래스를 사용하여 텍스트 파일을 읽기 모드로 열고, std::getline
함수를 이용하여 파일의 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (Go)
이 프로그램은 Go 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: count_lines_in_text_file.go
package main
import (
"bufio"
"fmt"
"log"
"os"
)
func main() {
// 파일을 읽기 모드로 열기
file, err := os.Open("example.txt")
if err != nil {
// 파일 열기 실패 시 오류 메시지 출력 후 종료
log.Fatalf("파일 열기 실패: %v", err)
}
defer file.Close()
n_lines := 0 // 줄 수를 저장할 변수
scanner := bufio.NewScanner(file) // 파일에서 읽은 문자열을 저장할 변수
// 파일 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽기
for scanner.Scan() {
n_lines++ // 줄 수 증가
}
if err := scanner.Err(); err != nil {
// 파일 읽기 중 오류 발생 시 오류 메시지 출력 후 종료
log.Fatalf("파일 읽기 중 오류: %v", err)
}
// 파일에 있는 줄 수를 출력
fmt.Printf("파일에 있는 줄 수: %d\n", n_lines)
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 Go의 os
패키지를 사용하여 텍스트 파일을 읽기 모드로 열고, bufio.Scanner
를 이용하여 파일의 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (Rust)
이 프로그램은 Rust 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: count_lines_in_text_file.rs
use std::fs::File;
use std::io::{self, BufRead};
use std::path::Path;
fn main() -> io::Result<()> {
// 파일을 읽기 모드로 열기
let path = Path::new("example.txt");
let file = File::open(&path)?;
let reader = io::BufReader::new(file);
let mut n_lines = 0; // 줄 수를 저장할 변수
// 파일 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽기
for line in reader.lines() {
if line.is_ok() {
n_lines += 1; // 줄 수 증가
} else {
eprintln!("파일 읽기 중 오류 발생: {:?}", line.err().unwrap());
}
}
// 파일에 있는 줄 수를 출력
println!("파일에 있는 줄 수: {}", n_lines);
Ok(())
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 Rust의 std::fs
및 std::io
모듈을 사용하여 텍스트 파일을 읽기 모드로 열고, BufRead
트레이트를 이용하여 파일의 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (TypeScript)
이 프로그램은 TypeScript 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: count_lines_in_text_file.ts
import * as fs from 'fs';
try {
// 파일을 읽기 모드로 열기
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
// 파일 열기 실패 시 오류 메시지 출력 후 종료
console.error('파일 열기 실패:', err.message);
return;
}
// 줄 수를 저장할 변수
let n_lines = data.split('\n').length - 1;
// 파일에 있는 줄 수를 출력
console.log(`파일에 있는 줄 수: ${n_lines}`);
});
} catch (err) {
// 파일 열기 실패 시 오류 메시지 출력 후 종료
console.error('파일 열기 실패:', err.message);
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 TypeScript로 작성되어 Node.js 환경에서 실행됩니다. Node.js의 fs
모듈을 사용하여 텍스트 파일을 읽기 모드로 열고, 파일의 내용을 문자열로 가져옵니다. 줄바꿈 문자('\n')를 기준으로 문자열을 나누어 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
텍스트 파일의 줄 수 세기 (Kotlin)
이 프로그램은 Kotlin 언어로 작성되었으며, 주어진 텍스트 파일에서 줄 수를 세어 출력합니다.
예제 코드: CountLinesInTextFile.kt
import java.io.File
import java.io.IOException
fun main() {
try {
// 파일을 읽기 모드로 열기
val file = File("example.txt")
// 파일 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽기
val n_lines = file.readLines().size
// 파일에 있는 줄 수를 출력
println("파일에 있는 줄 수: $n_lines")
} catch (e: IOException) {
// 파일 열기 실패 시 오류 메시지 출력 후 종료
println("파일 열기 실패: ${e.message}")
}
}
예제 출력:
파일에 있는 줄 수: 1
이 프로그램은 Kotlin의 java.io.File
클래스를 사용하여 텍스트 파일을 읽기 모드로 열고, readLines()
함수를 이용하여 파일의 끝(EOF)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.