스트림(Stream)과 파일(File) 입출력 맛보기
프로그램에서 생성된 데이터는 경우에 따라 영구적으로 보관해야 할 때가 있습니다. 이러한 데이터는 파일이나 데이터베이스에 저장할 수 있으며, 이번 강의에서는 파일에 데이터를 저장하고 읽어오는 방법을 소개합니다.
> // System.IO: 파일 저장 및 읽기와 같은 입출력 작업을 처리하는 명령어들의 집합체
System.IO 네임스페이스
C#에서 파일 입출력을 담당하는 주요 네임스페이스는 **System.IO
**입니다. 이 네임스페이스는 파일 및 디렉터리 관련 작업을 수행할 수 있는 다양한 클래스를 제공합니다. 이를 활용하면 파일 생성 및 삭제, 텍스트 파일 읽기/쓰기, 바이너리 파일 처리, CSV 파일 처리 등 다양한 작업을 수행할 수 있습니다.
자주 사용되는 주요 파일 처리 관련 API는 다음과 같습니다. 필요에 따라 참고하면 됩니다.
File.Exists()
: 지정된 경로에 파일이 있으면 true
, 없으면 false
반환
new DirectoryInfo().Parent.FullName
: 지정된 경로의 부모 폴더 경로 반환
Path.GetDirectoryName()
: 지정된 경로에서 디렉터리 경로 반환
Path.Combine()
: 두 개의 경로를 합치거나 경로와 파일명을 결합하여 반환
Directory.Exists()
: 지정된 디렉터리가 존재하는지 확인
Directory.CreateDirectory()
: 디렉터리 생성
Directory.Delete()
: 디렉터리 삭제
Path.GetFileName()
: 파일명 추출
Path.GetExtension()
: 파일 확장자 추출
File.Copy()
: 파일 복사
File.Move()
: 파일 이동
Directory.GetFiles()
: 지정된 경로의 파일 목록을 문자열 배열로 반환
File.ReadAllText()
: 텍스트 파일 읽기
File.WriteAllText()
: 텍스트 파일 쓰기
File.ReadAllLines()
: 텍스트 파일의 모든 줄을 문자열 배열로 반환
File.WriteAllLines()
: 문자열 배열을 텍스트 파일에 줄 단위로 저장
File.AppendAllText()
: 텍스트 파일에 내용 추가
File.AppendAllLines()
: 문자열 컬렉션을 텍스트 파일에 추가
File.ReadAllBytes()
: 바이너리 파일 읽기
File.WriteAllBytes()
: 바이너리 파일 쓰기
파일(File) 클래스
File
클래스는 사용이 간단하여 텍스트 파일이나 간단한 바이너리 파일을 처리할 때 적합합니다. 그러나 파일의 모든 내용을 메모리에 로드하여 처리하므로, 대용량 파일 작업 시 메모리 관리에 한계가 있을 수 있습니다.
스트림(Stream) 클래스
Stream
클래스는 파일의 모든 데이터를 메모리에 올리지 않고 처리하므로, 대용량 파일 작업에 적합합니다.
File
클래스에 비해 메모리 효율적이므로 파일 크기가 클 때 효과적으로 사용할 수 있습니다.
문자열에서 파일명 추출
이번에는 문자열에서 파일명과 확장자를 추출하는 프로그램을 만들어 보겠습니다.
코드: GetFileNameDemo.cs
using System;
class GetFileNameDemo
{
static void Main()
{
//[Q] 아래 전체 경로가 입력되었을 때 파일명과 확장자 추출
//[1] Input
string dir = "C:\\Website\\RedPlus\\images\\test.gif";
string fullName = String.Empty;
string name = "";
string ext = name;
//[2] Process
// 전체파일명: 마지막 \\ 위치값 + 1한 위치부터 마지막까지 검색
fullName = dir.Substring(dir.LastIndexOf('\\') + 1);
name = fullName.Substring(0, fullName.LastIndexOf('.'));
ext = fullName.Substring(fullName.LastIndexOf('.') + 1);
//[3] Output
Console.WriteLine($"전체 파일명: {fullName}");
Console.WriteLine($"순수 파일명: {name}");
Console.WriteLine($"확장자: {ext}");
}
}
전체 파일명: test.gif
순수 파일명: test
확장자: gif
문자열에서 파일명과 파일 확장자를 구하는 방법은 많은 방법이 있습니다. 하지만, 매번 이러한 방법을 사용해야 할까요? 그렇지 않습니다. System.IO
네임스페이스에 있는 Path
클래스의 주요 메서드를 사용하면 편리하게 이러한 기능을 구현할 수 있습니다.
Path 클래스로 파일명 및 확장자 그리고 폴더 정보 얻기
C# Interactive를 열고 다음 코드를 작성해 보세요. Path
클래스의 GetFileName
과 같은 정적 메서드를 사용하면 파일명 및 확장자 등을 손쉽게 구할 수 있습니다.
코드: PathClassDemo.cs
> var dir = "C:\\Website\\RedPlus\\images\\test.gif";
> Path.GetFileName(dir)
"test.gif"
> Path.GetFileNameWithoutExtension(dir)
"test"
> Path.GetExtension(dir)
".gif"
> Path.GetDirectoryName(dir)
"C:\\Website\\RedPlus\\images"
> Path.GetFullPath(dir)
"C:\\Website\\RedPlus\\images\\test.gif"
파일과 디렉터리 관련 클래스
파일 생성 및 삭제
파일을 생성하고 삭제하는 일반적인 절차는 다음과 같습니다:
StreamWriter
클래스: 텍스트 파일 쓰기
StreamReader
클래스: 텍스트 파일 읽기
File
및 FileInfo
클래스: 파일 정보 얻기
Directory
및 DirectoryInfo
클래스: 폴더 정보 얻기
텍스트 파일 만들고 문자열 저장하기
텍스트 파일 생성 및 문자열 저장
이번에는 텍스트 파일에 문자열을 저장하는 방법을 알아보겠습니다.
예제는 윈도 운영 체제의 C
드라이브에 Temp
폴더가 있다고 가정하고 진행합니다. 이 과정에서 StreamWriter
클래스를 사용하여 텍스트 파일을 작성합니다.
코드: StreamWriterWriteLineDemo.cs
using System;
using System.IO;
class StreamWriterWriteLineDemo
{
static void Main()
{
string data =
"안녕하세요.\r\n반가습니다." + Environment.NewLine + "또 만나요.";
//[1] StreamWriter 클래스를 사용하여 파일 생성
// C 드라이브에 Temp 폴더 미리 생성해야 함
StreamWriter sw = new StreamWriter("C:\\Temp\\Test.txt");
//[2] Write() 메서드 : 저장
sw.WriteLine(data);
//[3] StreamWrite 개체를 생성했으면 반드시 닫기
sw.Close();
//[4] 메모리 해제
sw.Dispose();
}
}
위 코드를 실행하면 C
드라이브의 Temp
폴더에 Test.txt
파일이 생성되고, data
변수에 지정된 문자열이 저장됩니다.
문자열의 \r\n
또는 Environment.NewLine
값은 텍스트 파일에서 줄바꿈을 나타냅니다.
코드 주의점
[1]
번 코드에서 StreamWriter
인스턴스를 생성할 때 반드시 파일을 닫고 메모리를 해제해야 합니다.
- 이를 안전하게 처리하려면
using
블록을 사용하는 것이 좋습니다.
using
블록은 파일 처리 완료 후 자동으로 Close() 및 **Dispose()**를 호출하여 자원을 정리합니다.
그림: 저장된 텍스트 파일

텍스트 파일의 내용 읽어 출력하기
이번에는 텍스트 파일의 내용을 읽는 방법을 알아보겠습니다.
텍스트 파일의 내용을 읽을 때에는 StreamReader
클래스가 사용됩니다.
코드: StreamReaderReadToEndDemo.cs
using System;
using System.IO;
class StreamReaderReadToEndDemo
{
static void Main()
{
//[1] StreamReader 클래스로 텍스트 파일 읽기
StreamReader sr = new StreamReader(@"C:\Temp\Test.txt");
//[2] ReadToEnd() 메서드로 텍스트 파일의 내용 읽어 콘솔에 출력하기
Console.WriteLine("{0}", sr.ReadToEnd()); // 전체 읽어오기
//[3] 사용 후 파일 닫고 메모리 정리하기
sr.Close();
sr.Dispose();
}
}
안녕하세요.
반가습니다.
또 만나요.
StreamReader
클래스는 텍스트 파일의 내용을 읽는 데 사용되며, ReadToEnd()
메서드를 통해 텍스트 파일의 전체 내용을 읽어올 수 있습니다. 이 예제에서도 Close()
메서드와 Dispose()
메서드를 호출하여 메모리를 정리하는 작업을 습관적으로 해주는 것이 좋습니다. 이를 생략할 경우, 파일이 사용 중이라는 예기치 않은 오류가 발생할 수 있습니다.
텍스트 파일의 정보 얻기
이번에는 텍스트 파일의 정보를 얻는 방법을 알아보겠습니다.
코드: FileAndFileInfo.cs
using System;
using System.IO;
class FileAndFileInfo
{
static void Main()
{
string file = "C:\\Temp\\Test.txt";
//[1] File 클래스: 정적 멤버 제공
if (File.Exists(file)) // 파일이 있다면.
{
Console.WriteLine("{0}", File.GetCreationTime(file));
File.Copy(file, "C:\\Temp\\Test2.txt", true); // 파일 복사 테스트
}
//[2] FileInfo 클래스: 인스턴스 멤버 제공
FileInfo fi = new FileInfo(file);
if (fi.Exists) // 파일이 존재한다면,
{
Console.WriteLine($"{fi.FullName}"); // 파일명 출력
}
}
}
2023-01-26 오후 8:40:35
C:\Temp\Test.txt
파일을 다룰 때에는 이번 예제에서처럼 정적 클래스인 File
클래스 또는 인스턴스 클래스인 FileInfo
클래스를 사용해도 동일한 결과를 얻을 수 있습니다.
폴더 정보 얻기
이번에는 폴더의 정보를 얻는 방법을 알아보겠습니다.
폴더 정보를 얻을 때에는 Directory
클래스 또는 DirectoryInfo
클래스가 사용됩니다.
코드: DirectoryAndDirectoryInfo.cs
using System;
using System.IO;
class DirectoryAndDirectoryInfo
{
static void Main()
{
string dir = "C:\\";
//[1] Directory 클래스
if (Directory.Exists(dir))
{
Console.WriteLine("[1] C 드라이브의 모든 폴더 목록을 출력");
foreach (string folder in Directory.GetDirectories(dir))
{
Console.WriteLine($"{folder}");
}
}
//[2] DirectoryInfo 클래스
DirectoryInfo di = new DirectoryInfo(dir + "Temp\\");
if (di.Exists)
{
Console.WriteLine("[2] C 드라이브의 Temp 폴더의 모든 파일 목록 출력");
foreach (var file in di.GetFiles())
{
Console.WriteLine($"{file}");
}
}
}
}
[1] C 드라이브의 모든 폴더 목록을 출력
C:\DotNet
C:\Program Files
C:\Program Files (x86)
C:\ProgramData
C:\Temp
C:\Users
C:\Windows
C:\책
[2] C 드라이브의 Temp 폴더의 모든 파일 목록 출력
Test.txt
Test2.txt
위 실행 결과는 박용준 강사의 컴퓨터의 환경 중 일부를 표시했습니다. Directory
또는 DirectoryInfo
클래스의 GetDirectories()
메서드는 전체 디렉터리 리스트를 보여주고 GetFiles()
메서드는 전체 파일 리스트를 보여줍니다.
텍스트 데이터를 컬렉션 데이터로 가져오기
이번에는 텍스트 파일 데이터를 읽어 컬렉션 형태의 데이터로 읽어오는 방법을 알아보겠습니다.
우선 C
드라이브의 Temp
폴더에 Src.txt
파일에 다음과 같은 데이터가 있다고 가정하겠습니다. 만약 이 예제를 실행하려면 Src.txt
파일을 만들고 다음 데이터를 입력한 후 실행하세요.
코드: C:\Temp\Src.txt
홍길동,112,2019-09-01,1234
백두산,114,2020-10-02,2345
한라산,119,2021-11-03,3456
코드: TextToCollection.cs
using System;
using System.Collections.Generic;
namespace DotNet
{
public class Record
{
public string Name { get; set; }
public string PhoneNumber { get; set; }
public DateTime BirthDate { get; set; }
public string AuthCode { get; set; }
}
class TextToCollection
{
static void Main()
{
//[1] 텍스트 파일 읽기
string[] lines =
System.IO.File.ReadAllLines(
@"C:\Temp\src.txt", System.Text.Encoding.Default);
foreach (var line in lines)
{
Console.WriteLine(line);
}
//[2] 문자열 배열의 정보를 컬렉션 형태의 개체에 담기
List<Record> records = new List<Record>();
foreach (var line in lines)
{
string[] splitData = line.Split(',');
records.Add(
new Record
{
Name = splitData[0],
PhoneNumber = splitData[1],
BirthDate = Convert.ToDateTime(splitData[2]),
AuthCode = splitData[3]
});
}
//[3] 한개 데이터만 출력해보기
Console.WriteLine(records[0]?.Name ?? "데이터가 없습니다.");
}
}
}
홍길동,112,2019-09-01,1234
백두산,114,2020-10-02,2345
한라산,119,2021-11-03,3456
홍길동
이번 예제에서는 구분자로 콤마를 사용하는 텍스트 파일의 데이터를 읽어 List<T>
형태의 C# 컬렉션으로 변환하는 방법을 다룹니다. [1]
번 코드에서는 File.ReadAllLines()
메서드를 사용하여 파일의 내용을 읽고, [2]
번 코드에서는 이 데이터를 List<Record>
형식의 리스트에 담는 과정을 보여줍니다.
현재는 간단한 텍스트 파일을 사용하여 데이터를 컬렉션으로 옮겼지만, 실제 현업에서는 텍스트 파일뿐만 아니라 XML 파일, JSON 파일, CSV 파일, 엑셀 파일 등 다양한 데이터 형식을 다룰 수 있습니다. 물론 각 형식에 따라 적합한 API를 사용해야 합니다.
마무리
C# API를 사용하면 텍스트 파일뿐만 아니라 이진 파일의 입출력 기능과 윈도 운영 체제의 레지스트리에 대한 입출력 기능도 구현할 수 있습니다. 다만, 이러한 내용은 이번 강의에서 다루지 않으며, 관련 정보는 Microsoft Learn 사이트에서 검색해 보시길 권장합니다.
장 요약
이번 장에서는 변수, 배열, 클래스, 컬렉션과는 달리 데이터를 영구적으로 저장할 수 있는 파일에 데이터를 저장하고 읽어오는 간단한 파일 처리 방법을 학습했습니다. 여기까지 파일 처리에 대해 학습한 후, 다음 장에서는 텍스트 파일을 넘어 XML과 JSON 파일을 다루는 방법으로 우리의 역량을 확장해 나가겠습니다.
More...
좀 더 많은 예제는 다음 내용들을 참고하세요.
파일 크기 구하기
파일 크기는 디스크 공간이나 전송 시간을 측정하는 데 중요한 역할을 합니다. 여러 프로그래밍 언어를 사용하여 특정 파일의 크기를 확인하는 방법이 존재합니다. 이 글에서는 다양한 프로그래밍 언어로 작성된 예제 코드를 통해 파일 크기를 확인하는 방법을 소개합니다.
파일 크기 확인하는 C# 프로그램 예제
이번 아티클에서는 C# 언어를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: GetFileSize.cs
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
string filePath = "example.txt";
FileInfo file = new FileInfo(filePath);
long size = file.Length;
Console.WriteLine($"파일 크기: {size} 바이트");
}
catch (Exception e)
{
Console.WriteLine($"파일 열기 실패: {e.Message}");
}
}
}
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 FileInfo
클래스를 사용하여 파일의 정보를 얻어오고, Length
속성을 통해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력합니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 C 프로그램 예제
이번 아티클에서는 C 언어를 사용하여 특정 파일의 크기를 확인하는 방법을 소개합니다.
ftell()
함수는 C 언어의 파일 입출력 라이브러리에 포함된 함수로, 현재 파일 포인터의 위치를 바이트 단위로 반환합니다. 이 함수는 파일에서 얼마나 떨어져 있는지 확인할 때 사용되며, 파일 크기를 계산하는 데에도 유용합니다.
ftell()
함수의 원형은 다음과 같습니다:
long int ftell(FILE *stream);
stream
: 파일 포인터를 가리키는 FILE 구조체의 포인터입니다. 이 파일 포인터는 fopen()
함수를 사용하여 열린 파일에 대한 정보를 가지고 있습니다.
ftell()
함수는 성공적으로 파일 포인터의 위치를 반환하면 해당 위치 값(바이트 단위)을 반환하고, 실패한 경우에는 -1을 반환합니다.
아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.c
#define _CRT_SECURE_NO_WARNINGS // Visual Studio에서 보안 경고를 무시하도록 설정
#include <stdio.h> // 표준 입출력 라이브러리 헤더 파일 포함
int main(void)
{
FILE* file = fopen("example.txt", "r"); // example.txt 파일을 읽기 모드로 열기
if (file == NULL) // 파일 열기 실패 시
{
printf("파일 열기 실패\n"); // 실패 메시지 출력
return 1; // 에러 코드 1 반환
}
fseek(file, 0, SEEK_END); // 파일 포인터를 파일 끝으로 이동
long int size = ftell(file); // 파일 포인터의 현재 위치를 바이트 단위로 얻어와 파일 크기 저장
printf("파일 크기: %ld 바이트\n", size); // 파일 크기 출력
fclose(file); // 파일 닫기
return 0; // 정상 종료
}
실행 결과
앞서 진행한 내용에 따라서 파일에 저장된 텍스트의 내용에 따라서 파일 크기가 달라질 수 있습니다.
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 파일을 열고, 파일 포인터를 파일 끝으로 이동시킨 후 ftell()
함수를 사용하여 현재 위치를 얻어 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력하고 파일을 닫습니다.
파일 크기 구하는 함수 만들기
다음 예제는 파일 크기를 구하는 함수를 따로 분리해 본 내용입니다.
예제: 파일 크기 구하기
코드: get_file_size_function.c
#define _CRT_SECURE_NO_WARNINGS // Visual Studio에서 보안 경고를 무시하도록 설정
#include <stdio.h>
// 파일의 크기를 구하는 함수
long getFileSize(FILE* file)
{
// 현재 파일 포인터 위치를 저장
long currentPosition = ftell(file);
// 파일 포인터를 파일의 끝으로 이동
fseek(file, 0, SEEK_END);
// 파일의 크기를 구하기 위해 파일 포인터 위치를 저장
long fileSize = ftell(file);
// 파일 포인터를 원래 위치로 복원
fseek(file, currentPosition, SEEK_SET);
// 파일 크기 반환
return fileSize;
}
int main(void)
{
// 파일을 읽기 모드로 열기
FILE* file = fopen("example.txt", "r");
// 파일 열기 실패 시 오류 메시지 출력 후 종료
if (file == NULL)
{
printf("파일 열기 실패\n");
return 1;
}
// 파일 크기를 구하는 함수 호출
long fileSize = getFileSize(file);
// 파일 크기를 바이트 단위로 출력
printf("파일 크기: %ld 바이트\n", fileSize);
// 파일 닫기
fclose(file);
// 프로그램 정상 종료
return 0;
}
파일 크기: 13 바이트
파일 크기 확인하는 Java 프로그램 예제
이번 아티클에서는 Java 언어를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: GetFileSize.java
import java.io.File;
public class GetFileSize {
public static void main(String[] args) {
try {
File file = new File("example.txt");
long size = file.length();
System.out.println("파일 크기: " + size + " 바이트");
} catch (Exception e) {
System.out.println("파일 열기 실패: " + e.getMessage());
}
}
}
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 File
클래스를 사용하여 파일의 정보를 얻어오고, length()
메서드를 통해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력합니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 Python 프로그램 예제
이번 아티클에서는 Python 언어를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.py
import os
def main():
try:
file_path = "example.txt"
size = os.path.getsize(file_path)
print(f"파일 크기: {size} 바이트")
except Exception as e:
print(f"파일 열기 실패: {e}")
if __name__ == "__main__":
main()
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 os.path.getsize()
함수를 사용하여 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력합니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 Node.js 프로그램 예제
이번 아티클에서는 Node.js를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.js
const fs = require('fs');
function main() {
try {
const file_path = "example.txt";
const stats = fs.statSync(file_path);
const size = stats.size;
console.log(`파일 크기: ${size} 바이트`);
} catch (e) {
console.log(`파일 열기 실패: ${e}`);
}
}
main();
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 fs.statSync()
함수를 사용하여 파일 정보를 가져온 뒤, size
속성을 통해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력합니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 C++ 프로그램 예제
이번 아티클에서는 C++ 언어를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.cpp
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("example.txt", std::ios::binary | std::ios::ate);
if (!file.is_open()) {
std::cout << "파일 열기 실패" << std::endl;
return 1;
}
std::streamsize size = file.tellg();
file.close();
std::cout << "파일 크기: " << size << " 바이트" << std::endl;
return 0;
}
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 std::ifstream
클래스를 사용하여 파일을 열고, tellg()
함수를 통해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력하고 파일을 닫습니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 Go 프로그램 예제
이번 아티클에서는 Go 언어를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.go
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("example.txt")
if err != nil {
fmt.Println("파일 열기 실패:", err)
return
}
defer file.Close()
fileInfo, err := file.Stat()
if err != nil {
fmt.Println("파일 정보 가져오기 실패:", err)
return
}
size := fileInfo.Size()
fmt.Printf("파일 크기: %d 바이트\n", size)
}
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 os.Open()
함수를 사용하여 파일을 열고, Stat()
함수를 통해 파일 정보를 가져온 뒤, Size()
함수를 사용해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력하고 파일을 닫습니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 Rust 프로그램 예제
이번 아티클에서는 Rust 언어를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.rs
use std::fs;
use std::io::Error;
fn main() -> Result<(), Error> {
let file_path = "example.txt";
let metadata = fs::metadata(file_path)?;
let size = metadata.len();
println!("파일 크기: {} 바이트", size);
Ok(())
}
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 fs::metadata()
함수를 사용하여 파일 정보를 가져온 뒤, len()
함수를 사용해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력합니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 TypeScript 프로그램 예제
이번 아티클에서는 TypeScript와 Node.js를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.ts
import * as fs from 'fs';
function main() {
try {
const file_path = "example.txt";
const stats = fs.statSync(file_path);
const size = stats.size;
console.log(`파일 크기: ${size} 바이트`);
} catch (e) {
console.log(`파일 열기 실패: ${e}`);
}
}
main();
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 fs.statSync()
함수를 사용하여 파일 정보를 가져온 뒤, size
속성을 통해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력합니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
파일 크기 확인하는 Kotlin 프로그램 예제
이번 아티클에서는 Kotlin 언어를 사용하여 특정 파일의 크기를 확인하는 방법에 대해 설명합니다. 아래 예제 코드를 통해 파일 크기를 확인하는 방법을 배울 수 있습니다.
예제: 파일 크기 확인
코드: get_file_size.kt
import java.io.File
fun main() {
val file = File("example.txt")
if (file.exists()) {
val size = file.length()
println("파일 크기: $size 바이트")
} else {
println("파일 열기 실패")
}
}
실행 결과
파일 크기: 11 바이트
위 예제 코드는 example.txt
라는 텍스트 파일의 크기를 확인하는 프로그램입니다. 프로그램은 File
클래스를 사용하여 파일을 열고, length()
함수를 통해 파일 크기를 계산합니다. 마지막으로 파일 크기를 출력합니다.
파일 크기 확인을 위한 이 프로그램은 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 이 예제를 통해 파일 크기를 얻는 방법을 익혀 보세요.
이러한 예제들을 통해 각 프로그래밍 언어로 파일 크기를 확인하는 방법을 배웠습니다. 이를 기반으로 다양한 환경에서 사용할 수 있으며, 소스 코드를 약간 수정하여 다른 파일 형식이나 용도에도 사용할 수 있습니다. 파일 크기 확인을 위한 이 프로그램들을 참고하여 원하는 언어로 구현해 보세요.
파일에서 문자열 읽기
파일에서 문자열 읽기 예제는 다양한 프로그래밍 언어를 사용하여 텍스트 파일의 내용을 읽어 화면에 출력하는 간단한 프로그램입니다. 이 예제는 각 언어의 파일 입출력 기능을 이해하고 사용하는 방법을 소개합니다. 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다. 이 도입 문구는 각 언어별 예제에 공통적으로 적용되며, 해당 언어의 구체적인 코드와 출력 예시는 각 언어별로 제공됩니다.
파일에서 문자열 읽기 예제 (C#)
파일에서 문자열을 읽어 출력하는 간단한 C# 프로그램 예제입니다. 이 예제에서는 StreamReader를 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: FileReadString.cs
using System;
using System.IO;
class FileReadString
{
static void Main()
{
try
{
using (StreamReader sr = new StreamReader("example.txt"))
{
string line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
catch (Exception e)
{
Console.WriteLine("파일을 열 수 없습니다.");
Console.WriteLine(e.Message);
}
}
}
파일을 열 수 없습니다.
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제
파일에서 문자열을 읽어 출력하는 간단한 C 프로그램 예제입니다. 이 예제에서는 파일 포인터를 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: file_read_string.c
#define _CRT_SECURE_NO_WARNINGS // Visual Studio에서 보안 경고를 무시하도록 설정
#include <stdio.h>
int main(void)
{
FILE* file; // 파일 포인터 선언
char str[100]; // 문자열을 저장할 배열 선언
file = fopen("example.txt", "r"); // example.txt 파일을 읽기 모드로 열기
if (file == NULL) // 파일 열기 실패 시
{
printf("파일을 열 수 없습니다.\n"); // 에러 메시지 출력
return 1; // 비정상 종료
}
while (fgets(str, sizeof(str), file) != NULL) // 파일에서 한 줄씩 읽어옴
{
printf("%s", str); // 읽어온 문자열 출력
}
fclose(file); // 파일 포인터를 닫음
return 0; // 정상 종료
}
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제 (Java)
파일에서 문자열을 읽어 출력하는 간단한 Java 프로그램 예제입니다. 이 예제에서는 BufferedReader와 FileReader를 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: FileReadString.java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadString {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("example.txt"));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (IOException e) {
System.out.println("파일을 열 수 없습니다.");
e.printStackTrace();
}
}
}
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제 (Python)
파일에서 문자열을 읽어 출력하는 간단한 Python 프로그램 예제입니다. 이 예제에서는 open()
함수와 with
문을 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: file_read_string.py
try:
with open("example.txt", "r", encoding="utf-8") as file:
for line in file:
print(line.strip())
except FileNotFoundError:
print("파일을 열 수 없습니다.")
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제 (Node.js)
파일에서 문자열을 읽어 출력하는 간단한 Node.js 프로그램 예제입니다. 이 예제에서는 fs
모듈을 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: file_read_string.js
const fs = require('fs');
fs.readFile('example.txt', 'utf-8', (err, data) => {
if (err) {
console.error('파일을 열 수 없습니다.');
console.error(err.message);
return;
}
console.log(data);
});
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제 (C++)
파일에서 문자열을 읽어 출력하는 간단한 C++ 프로그램 예제입니다. 이 예제에서는 ifstream을 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: file_read_string.cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt"); // example.txt 파일을 읽기 모드로 열기
std::string line;
if (!file.is_open()) { // 파일 열기 실패 시
std::cout << "파일을 열 수 없습니다." << std::endl;
return 1; // 비정상 종료
}
while (std::getline(file, line)) { // 파일에서 한 줄씩 읽어옴
std::cout << line << std::endl; // 읽어온 문자열 출력
}
file.close(); // 파일 포인터를 닫음
return 0; // 정상 종료
}
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제 (Go)
파일에서 문자열을 읽어 출력하는 간단한 Go 프로그램 예제입니다. 이 예제에서는 bufio
패키지와 os
패키지를 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: file_read_string.go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
file, err := os.Open("example.txt") // example.txt 파일을 읽기 모드로 열기
if err != nil { // 파일 열기 실패 시
fmt.Println("파일을 열 수 없습니다.")
fmt.Println(err)
return
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() { // 파일에서 한 줄씩 읽어옴
fmt.Println(scanner.Text()) // 읽어온 문자열 출력
}
if err := scanner.Err(); err != nil {
fmt.Println("파일 읽기 중 오류 발생:")
fmt.Println(err)
}
}
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제 (Rust)
파일에서 문자열을 읽어 출력하는 간단한 Rust 프로그램 예제입니다. 이 예제에서는 std::fs
및 std::io
모듈을 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: file_read_string.rs
use std::fs::File;
use std::io::{self, BufRead};
use std::path::Path;
fn main() {
if let Ok(lines) = read_lines("example.txt") { // example.txt 파일을 읽기 모드로 열기
for line in lines {
if let Ok(ip) = line {
println!("{}", ip);
}
}
} else {
println!("파일을 열 수 없습니다.");
}
}
fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
where
P: AsRef<Path>,
{
let file = File::open(filename)?; // 파일 열기
Ok(io::BufReader::new(file).lines())
}
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에서 문자열 읽기 예제 (TypeScript)
파일에서 문자열을 읽어 출력하는 간단한 TypeScript 프로그램 예제입니다. 이 예제에서는 Node.js에서 제공하는 fs
모듈을 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: file_read_string.ts
import * as fs from 'fs';
fs.readFile('example.txt', 'utf-8', (err, data) => {
if (err) {
console.error('파일을 열 수 없습니다.');
console.error(err.message);
return;
}
console.log(data);
});
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
참고로, 이 예제를 실행하기 전에 TypeScript를 JavaScript로 컴파일해야 합니다. 컴파일 방법은 다음과 같습니다.
tsc file_read_string.ts
컴파일 후 생성된 file_read_string.js 파일을 실행하면 됩니다.
node file_read_string.js
파일에서 문자열 읽기 예제 (Kotlin)
파일에서 문자열을 읽어 출력하는 간단한 Kotlin 프로그램 예제입니다. 이 예제에서는 java.nio.file
패키지를 사용하여 텍스트 파일을 읽어와서 화면에 출력합니다.
코드: FileReadString.kt
import java.nio.file.Files
import java.nio.file.Paths
fun main() {
val path = Paths.get("example.txt") // example.txt 파일의 경로
try {
Files.newBufferedReader(path).use { reader ->
var line: String? = reader.readLine()
while (line != null) {
println(line)
line = reader.readLine()
}
}
} catch (e: Exception) {
println("파일을 열 수 없습니다.")
e.printStackTrace()
}
}
예상 출력 결과
파일 "example.txt"의 내용이 다음과 같다고 가정하면 출력 결과는 다음과 같습니다.
example.txt:
안녕하세요.
output:
안녕하세요.
이 예제에서는 "example.txt"라는 파일을 읽기 모드로 열고, 해당 파일의 내용을 문자열로 읽어 화면에 출력합니다. 만약 파일을 여는 데 실패하면 에러 메시지를 출력하고 프로그램을 종료합니다. 그렇지 않으면 파일의 모든 줄을 읽어 화면에 출력한 후 파일을 닫습니다.
이 코드를 사용하여 파일에서 문자열을 읽을 수 있습니다. 파일에 저장된 다양한 정보를 처리하려면 이 예제를 확장하고 수정해야 합니다.
파일에 문자열 쓰기
파일에 문자열 쓰기는 프로그래밍에서 자주 사용되는 기능 중 하나입니다. 이 기능은 사용자가 입력한 문자열을 파일에 저장하여 데이터를 유지할 수 있게 해줍니다. 다양한 프로그래밍 언어에서 제공하는 파일 I/O 라이브러리와 함수를 활용하여 파일에 문자열을 쓰고 저장하는 방법을 살펴보겠습니다.
파일에 문자열 쓰기
이 예제에서는 C# 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 StreamWriter
클래스와 using
구문을 사용합니다.
예제 코드: FileWriteString.cs
using System;
using System.IO;
class FileWriteString
{
static void Main()
{
Console.Write("저장할 문자열을 입력하세요: ");
string str = Console.ReadLine();
try
{
using (StreamWriter file = new StreamWriter("example.txt"))
{
file.Write(str);
}
Console.WriteLine("파일에 저장되었습니다.");
}
catch (Exception ex)
{
Console.WriteLine("파일을 열 수 없습니다. 에러: " + ex.Message);
}
}
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 C 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fopen
, fgets
, fputs
, 그리고 fclose
함수를 사용합니다.
예제 코드: file_write_string.c
#define _CRT_SECURE_NO_WARNINGS // Visual Studio에서 보안 경고를 무시하도록 설정
#include <stdio.h> // 표준 입출력 함수를 사용하기 위한 라이브러리
int main(void)
{
FILE* file; // 파일 포인터 선언
char str[100]; // 입력 받을 문자열을 저장할 배열
file = fopen("example.txt", "w"); // example.txt 파일을 쓰기 모드(w)로 열기
if (file == NULL) // 파일 열기 실패시 에러 메시지 출력 및 종료
{
printf("파일을 열 수 없습니다.\n");
return 1;
}
printf("저장할 문자열을 입력하세요: "); // 사용자에게 문자열 입력 요청
fgets(str, sizeof(str), stdin); // 사용자로부터 문자열 입력 받기
fputs(str, file); // 입력 받은 문자열을 파일에 쓰기
fclose(file); // 파일 닫기
printf("파일에 저장되었습니다.\n"); // 저장 완료 메시지 출력
return 0;
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Java 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 FileWriter
, BufferedWriter
클래스와 try-with-resources
구문을 사용합니다.
예제 코드: FileWriteString.java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class FileWriteString {
public static void main(String[] args) {
System.out.print("저장할 문자열을 입력하세요: ");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
try (BufferedWriter writer = new BufferedWriter(new FileWriter("example.txt"))) {
writer.write(str);
System.out.println("파일에 저장되었습니다.");
} catch (IOException e) {
System.out.println("파일을 열 수 없습니다. 에러: " + e.getMessage());
}
}
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Python 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 with
구문과 open
함수를 사용합니다.
예제 코드: file_write_string.py
def main():
try:
str = input("저장할 문자열을 입력하세요: ")
with open("example.txt", "w") as file:
file.write(str)
print("파일에 저장되었습니다.")
except Exception as e:
print("파일을 열 수 없습니다. 에러:", e)
if __name__ == "__main__":
main()
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Node.js를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fs
모듈과 readline
모듈을 사용합니다.
예제 코드: fileWriteString.js
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('저장할 문자열을 입력하세요: ', (str) => {
fs.writeFile('example.txt', str, (err) => {
if (err) {
console.error('파일을 열 수 없습니다. 에러:', err);
} else {
console.log('파일에 저장되었습니다.');
}
rl.close();
});
});
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 C++ 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fstream
라이브러리를 사용합니다.
예제 코드: file_write_string.cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ofstream file;
std::string str;
std::cout << "저장할 문자열을 입력하세요: ";
std::getline(std::cin, str);
file.open("example.txt");
if (!file.is_open()) {
std::cout << "파일을 열 수 없습니다." << std::endl;
return 1;
}
file << str;
file.close();
std::cout << "파일에 저장되었습니다." << std::endl;
return 0;
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Go 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 os
패키지와 bufio
패키지를 사용합니다.
예제 코드: file_write_string.go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("저장할 문자열을 입력하세요: ")
str, _ := reader.ReadString('\n')
file, err := os.Create("example.txt")
if err != nil {
fmt.Println("파일을 열 수 없습니다. 에러:", err)
return
}
defer file.Close()
_, err = file.WriteString(str)
if err != nil {
fmt.Println("파일에 문자열을 쓸 수 없습니다. 에러:", err)
return
}
fmt.Println("파일에 저장되었습니다.")
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Rust 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 std::fs::File
와 std::io::Write
트레이트를 사용합니다.
예제 코드: file_write_string.rs
use std::fs::File;
use std::io::{self, Write};
use std::path::Path;
fn main() -> io::Result<()> {
let mut input = String::new();
println!("저장할 문자열을 입력하세요: ");
io::stdin().read_line(&mut input)?;
let path = Path::new("example.txt");
let mut file = File::create(&path)?;
file.write_all(input.as_bytes())?;
println!("파일에 저장되었습니다.");
Ok(())
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 TypeScript 언어와 Node.js 환경을 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fs
모듈과 readline
모듈을 사용합니다.
예제 코드: fileWriteString.ts
import * as fs from 'fs';
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('저장할 문자열을 입력하세요: ', (str: string) => {
fs.writeFile('example.txt', str, (err: Error | null) => {
if (err) {
console.error('파일을 열 수 없습니다. 에러:', err);
} else {
console.log('파일에 저장되었습니다.');
}
rl.close();
});
});
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
참고: TypeScript 코드를 실행하기 전에 TypeScript를 JavaScript로 컴파일해야 합니다. 이를 위해 아래 명령어를 사용할 수 있습니다.
tsc fileWriteString.ts
그런 다음 생성된 fileWriteString.js 파일을 실행합니다.
node fileWriteString.js
파일에 문자열 쓰기
이 예제에서는 Kotlin 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 File
클래스와 writeText
함수를 사용합니다.
예제 코드: FileWriteString.kt
import java.io.File
import java.io.IOException
fun main() {
print("저장할 문자열을 입력하세요: ")
val str = readLine() ?: ""
try {
File("example.txt").writeText(str)
println("파일에 저장되었습니다.")
} catch (e: IOException) {
println("파일을 열 수 없습니다. 에러: ${e.message}")
}
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
파일에 문자열 쓰기는 프로그래밍에서 자주 사용되는 기능 중 하나입니다. 이 기능은 사용자가 입력한 문자열을 파일에 저장하여 데이터를 유지할 수 있게 해줍니다. 다양한 프로그래밍 언어에서 제공하는 파일 I/O 라이브러리와 함수를 활용하여 파일에 문자열을 쓰고 저장하는 방법을 살펴보겠습니다.
파일에 문자열 쓰기
이 예제에서는 C# 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 StreamWriter
클래스와 using
구문을 사용합니다.
예제 코드: FileWriteString.cs
using System;
using System.IO;
class FileWriteString
{
static void Main()
{
Console.Write("저장할 문자열을 입력하세요: ");
string str = Console.ReadLine();
try
{
using (StreamWriter file = new StreamWriter("example.txt"))
{
file.Write(str);
}
Console.WriteLine("파일에 저장되었습니다.");
}
catch (Exception ex)
{
Console.WriteLine("파일을 열 수 없습니다. 에러: " + ex.Message);
}
}
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 C 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fopen
, fgets
, fputs
, 그리고 fclose
함수를 사용합니다.
예제 코드: file_write_string.c
#define _CRT_SECURE_NO_WARNINGS // Visual Studio에서 보안 경고를 무시하도록 설정
#include <stdio.h> // 표준 입출력 함수를 사용하기 위한 라이브러리
int main(void)
{
FILE* file; // 파일 포인터 선언
char str[100]; // 입력 받을 문자열을 저장할 배열
file = fopen("example.txt", "w"); // example.txt 파일을 쓰기 모드(w)로 열기
if (file == NULL) // 파일 열기 실패시 에러 메시지 출력 및 종료
{
printf("파일을 열 수 없습니다.\n");
return 1;
}
printf("저장할 문자열을 입력하세요: "); // 사용자에게 문자열 입력 요청
fgets(str, sizeof(str), stdin); // 사용자로부터 문자열 입력 받기
fputs(str, file); // 입력 받은 문자열을 파일에 쓰기
fclose(file); // 파일 닫기
printf("파일에 저장되었습니다.\n"); // 저장 완료 메시지 출력
return 0;
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Java 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 FileWriter
, BufferedWriter
클래스와 try-with-resources
구문을 사용합니다.
예제 코드: FileWriteString.java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class FileWriteString {
public static void main(String[] args) {
System.out.print("저장할 문자열을 입력하세요: ");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
try (BufferedWriter writer = new BufferedWriter(new FileWriter("example.txt"))) {
writer.write(str);
System.out.println("파일에 저장되었습니다.");
} catch (IOException e) {
System.out.println("파일을 열 수 없습니다. 에러: " + e.getMessage());
}
}
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Python 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 with
구문과 open
함수를 사용합니다.
예제 코드: file_write_string.py
def main():
try:
str = input("저장할 문자열을 입력하세요: ")
with open("example.txt", "w") as file:
file.write(str)
print("파일에 저장되었습니다.")
except Exception as e:
print("파일을 열 수 없습니다. 에러:", e)
if __name__ == "__main__":
main()
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Node.js를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fs
모듈과 readline
모듈을 사용합니다.
예제 코드: fileWriteString.js
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('저장할 문자열을 입력하세요: ', (str) => {
fs.writeFile('example.txt', str, (err) => {
if (err) {
console.error('파일을 열 수 없습니다. 에러:', err);
} else {
console.log('파일에 저장되었습니다.');
}
rl.close();
});
});
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 C++ 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fstream
라이브러리를 사용합니다.
예제 코드: file_write_string.cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ofstream file;
std::string str;
std::cout << "저장할 문자열을 입력하세요: ";
std::getline(std::cin, str);
file.open("example.txt");
if (!file.is_open()) {
std::cout << "파일을 열 수 없습니다." << std::endl;
return 1;
}
file << str;
file.close();
std::cout << "파일에 저장되었습니다." << std::endl;
return 0;
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Go 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 os
패키지와 bufio
패키지를 사용합니다.
예제 코드: file_write_string.go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("저장할 문자열을 입력하세요: ")
str, _ := reader.ReadString('\n')
file, err := os.Create("example.txt")
if err != nil {
fmt.Println("파일을 열 수 없습니다. 에러:", err)
return
}
defer file.Close()
_, err = file.WriteString(str)
if err != nil {
fmt.Println("파일에 문자열을 쓸 수 없습니다. 에러:", err)
return
}
fmt.Println("파일에 저장되었습니다.")
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 Rust 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 std::fs::File
와 std::io::Write
트레이트를 사용합니다.
예제 코드: file_write_string.rs
use std::fs::File;
use std::io::{self, Write};
use std::path::Path;
fn main() -> io::Result<()> {
let mut input = String::new();
println!("저장할 문자열을 입력하세요: ");
io::stdin().read_line(&mut input)?;
let path = Path::new("example.txt");
let mut file = File::create(&path)?;
file.write_all(input.as_bytes())?;
println!("파일에 저장되었습니다.");
Ok(())
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
파일에 문자열 쓰기
이 예제에서는 TypeScript 언어와 Node.js 환경을 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 fs
모듈과 readline
모듈을 사용합니다.
예제 코드: fileWriteString.ts
import * as fs from 'fs';
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('저장할 문자열을 입력하세요: ', (str: string) => {
fs.writeFile('example.txt', str, (err: Error | null) => {
if (err) {
console.error('파일을 열 수 없습니다. 에러:', err);
} else {
console.log('파일에 저장되었습니다.');
}
rl.close();
});
});
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
참고: TypeScript 코드를 실행하기 전에 TypeScript를 JavaScript로 컴파일해야 합니다. 이를 위해 아래 명령어를 사용할 수 있습니다.
tsc fileWriteString.ts
그런 다음 생성된 fileWriteString.js 파일을 실행합니다.
node fileWriteString.js
파일에 문자열 쓰기
이 예제에서는 Kotlin 언어를 사용하여 파일에 문자열을 쓰는 방법을 설명합니다. 파일에 문자열을 쓸 때는 File
클래스와 writeText
함수를 사용합니다.
예제 코드: FileWriteString.kt
import java.io.File
import java.io.IOException
fun main() {
print("저장할 문자열을 입력하세요: ")
val str = readLine() ?: ""
try {
File("example.txt").writeText(str)
println("파일에 저장되었습니다.")
} catch (e: IOException) {
println("파일을 열 수 없습니다. 에러: ${e.message}")
}
}
실행 예시
저장할 문자열을 입력하세요: 반갑습니다.
파일에 저장되었습니다.
텍스트 파일의 줄 수 세기
텍스트 파일의 줄 수 세기는 프로그래머들에게 자주 사용되는 기본적인 기능입니다. 이 예제에서는 다양한 프로그래밍 언어로 작성된 코드를 통해 텍스트 파일을 읽어들이고, 그 파일의 줄 수를 계산하고 출력하는 방법을 살펴보겠습니다. 이를 통해 각 언어의 파일 처리와 문자열 조작 기능에 대한 이해를 높일 수 있습니다.
텍스트 파일의 줄 수 세기 (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)에 도달할 때까지 문자열을 하나씩 읽습니다. 줄 수를 카운트한 후, 최종적으로 줄 수를 출력합니다.
FileStream 클래스 사용해 간단한 파일 생성
이 예제에서는 C#의 FileStream
클래스를 사용하여 C:\temp
폴더에 텍스트 파일을 생성하고 내용을 저장하는 방법을 보여줍니다.
코드: FileStreamDemo
클래스
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class FileStreamDemo
{
static async Task Main(string[] args)
{
// 파일이 저장될 폴더 경로
string tempFolderPath = @"C:\temp";
// 폴더 생성 (존재하지 않을 경우)
if (!Directory.Exists(tempFolderPath))
{
Directory.CreateDirectory(tempFolderPath);
}
// 파일 경로 및 내용
string filePath = Path.Combine(tempFolderPath, "example.txt");
string fileContent = "Hello, this is a test file created using FileStream!";
// FileStream을 사용해 파일 생성 및 내용 쓰기
using (var stream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
byte[] contentBytes = Encoding.UTF8.GetBytes(fileContent);
await stream.WriteAsync(contentBytes, 0, contentBytes.Length);
}
Console.WriteLine($"File created at: {filePath}");
}
}
주요 기능
폴더 확인 및 생성:
Directory.CreateDirectory
로 C:\temp
폴더를 생성합니다.
FileStream으로 파일 생성:
FileStream
을 사용해 example.txt
파일을 생성하고, 지정한 내용을 작성합니다.
비동기 파일 쓰기:
WriteAsync
메서드로 비동기 작업을 수행합니다.
콘솔 출력:
실행 방법
- 새 Console Application 프로젝트 생성:
- Visual Studio 또는 IDE에서 프로젝트 생성.
- 코드 복사 및 붙여넣기:
- 위 코드를
Program.cs
에 붙여넣습니다.
- 프로그램 실행:
- 실행 후
C:\temp
폴더에 example.txt
파일이 생성됩니다.
결과