>  기사  >  백엔드 개발  >  C# 파일 읽기

C# 파일 읽기

王林
王林원래의
2024-09-03 15:05:22811검색

파일 작업을 수행하는 것은 프로그래머 생활의 필수적인 부분이며 모든 프로그래밍 언어는 이를 달성하기 위해 다양한 라이브러리나 기능을 제공합니다. File 클래스 공급자에서 사용할 수 있는 메서드를 사용하여 C#에서도 동일한 작업을 수행할 수 있습니다. 일반적으로 파일 읽기는 ReadAllText(file) 및 ReadAllLines(file) 두 가지 방법을 사용하여 수행됩니다. 여기서 파일은 읽어야 하는 파일을 나타냅니다. Streamreader를 사용하여 파일을 바이트로 읽을 수도 있습니다. 이 문서에서는 적절한 예제와 함께 C#에서 파일을 읽는 데 사용할 수 있는 다양한 방법을 자세히 다룰 것입니다.

구문:

ReadAllText()의 구문은 다음과 같습니다

public static string ReadAllText (String Path, System.Text.Encoding encoding)

ReadAllLines()의 구문은 다음과 같습니다

public static string ReadAllLines(String, Encoding)

이 방법은 파일에 있는 모든 줄을 읽어서 문자열로 저장한 후 파일을 닫습니다.

C# 읽기 파일의 매개변수

  • 경로: 경로에는 파일의 위치가 포함됩니다. 이 파일을 읽어야 합니다.
  • 인코딩: 파일의 인코딩 유형을 나타내며 선택 사항입니다.

이 메소드의 반환 유형은 파일의 모든 내용을 포함하는 문자열입니다. 이 메서드는 System.IO 네임스페이스에서 사용할 수 있으며 이 메서드와 연결된 어셈블리는 mscorlib.dll입니다.

ReadAllLines() 메서드의 ReadAllText()와 관련된 예외:

  • 인수 예외: 경로에 문자가 없거나, 공백이 있거나, 유효하지 않은 문자가 있는 경우에 발생합니다.
  • 인수 Null 예외: 경로가 null인 경우 발생합니다.
  • 경로가 너무 긴 예외: 경로가 실제 시스템 정의 제한을 초과하는 경우 발생합니다.
  • IO 예외: 파일을 열 때 오류가 발생하면 이 예외가 발생합니다.
  • 무단 액세스 예외: 지정된 파일이 읽기 전용일 때 발생합니다
  • 파일을 찾을 수 없음 예외: 지정된 위치에 파일이 없을 때 발생합니다.
  • 지원되지 않는 예외: 지정된 경로의 형식이 잘못된 경우 이 예외가 발생합니다.
  • 보안 예외: 사용자가 파일에 액세스할 수 없으면 이 예외가 발생합니다.

C# 읽기 파일 예시

아래에 언급된 예시는 다음과 같습니다.

예제#1 – ReadAllText()를 사용하여 파일 읽기

코드:

using System;
using System.IO;
using System.Text;
namespace ReadAllText
{
class Test
{
static void Main(string[] args)
{
var Fpath= @"C:\Vignesh\KB.txt";
string content = File.ReadAllText(Fpath, Encoding.UTF8);
Console.WriteLine(content);
}
}
}

출력:

C# 파일 읽기

예제 #2 – ReadAllLines()를 사용하여 파일 읽기

코드:

using System;
using System.IO;
using System.Text;
namespace ReadAllLines
{
class Test
{
static void Main(string[] args)
{
var inputfile = @"C:\Vignesh\append.txt";
string[] output = File.ReadAllLines(inputfile, Encoding.UTF8);
foreach (string op in output)
{
Console.WriteLine(op);
}
}
}
}

출력:

C# 파일 읽기

예제 #3 – streamreader 클래스를 사용하여 파일 읽기

1. StreamReader.ReadToEnd(): 이 메서드는 현재 위치부터 스트림 끝까지 파일을 읽는 데 사용됩니다. 이 메서드에 해당하는 네임스페이스는 System.Io이고 어셈블리는 mscorblib.dll입니다.

구문:

public override string ReadToEnd ();

입력 매개변수: 이 방법에는 입력 매개변수가 필요하지 않습니다.

반환: 이 메소드는 파일 내용을 스트림으로 출력하며, 현재 위치가 파일의 마지막 문자로 설정된 경우 빈 문자열이 반환됩니다.

2. StreamReader.ReadLine(): 이 메서드는 현재 스트림에서 문자를 읽고 데이터를 문자열로 출력에 보냅니다. 이 메서드에 해당하는 네임스페이스는 System.Io이고 어셈블리는 mscorblib.dll입니다.

구문:

public override string ReadLine();

입력 매개변수: 이 방법에는 입력 매개변수가 필요하지 않습니다.

반환: 현재 스트림의 다음 줄을 반환하며, 현재 스트림이 마지막 줄 위치에 있으면 null이 반환됩니다.

코드:

using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
var FP = @"C:\Vignesh\Names.txt";
using var fstre = new FileStream(FP, FileMode.Open, FileAccess.Read);
using var sree = new StreamReader(fstre, Encoding.UTF8);
string Fcontent = sree.ReadToEnd();
Console.WriteLine(Fcontent);
}
}

출력:

C# 파일 읽기

코드:

using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
var filpath = @"C:\Vignesh\TimerJob-2019-08-09.txt";
using var fstre = new FileStream(filpath, FileMode.Open, FileAccess.Read);
using var sreee = new StreamReader(fstre, Encoding.UTF8);
string cline = String.Empty;
while ((cline = sreee.ReadLine()) != null)
{
Console.WriteLine(cline);
}
}
}

출력:

C# 파일 읽기

코드:

using System;
using System.IO;
namespace testclass {
class Test {
string FPath = @ "C:\Vignesh\Script to 0365 connection.txt";
static void Main(string[] args)
{
//Check if file is there at the path
//ReadallOutput()
if (File.Exists(FPath)) {
string output = File.ReadAlloutput(FPath);
Console.WriteLine(output);
}
//Check if file is there at the path
if (File.Exists(FPath)) {
//ReadallLines()
string[] Flines = File.ReadAllFlines(FPath);
foreach(string line in Flines)
Console.WriteLine(line);
}
//Check if file is there at the path
if (File.Exists(FPath)) {
//using streamreader
using(StreamReader file = new StreamReader(FPath)) {
int counter = 0;
string lgth;
while ((lgth = file.ReadLine()) != null) {
Console.WriteLine(lgth);
counter++;
}
file.Close();
}
}
Console.ReadKey();
}
}
}

출력:

C# 파일 읽기

예 #4 – 스트림리더를 사용하여 비동기적으로 파일 읽기

코드:

using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class TestProgram
{
static async Task Main(string[] args)
{
var ip = @" C:\Vignesh\Patching\Patching Steps.txt";
using var fssss = new FileStream(ip, FileMode.Open, FileAccess.Read);
using var srrr = new StreamReader(fssss, Encoding.UTF8);
//Reading asynchronously
string op = await srrr.ReadToEndAsync();
Console.WriteLine(op);
}
}

출력:

C# 파일 읽기

결론

따라서 이 기사에서는 C#의 파일 읽기 기능을 자세히 다루었습니다. 작업을 수행하는 데 사용할 수 있는 다양한 방법을 설명했습니다. 또한 각 메소드와 연관된 다양한 매개변수 및 예외사항을 다루고 샘플 프로그램의 예와 함께 자세히 설명했습니다. 좀 더 자세하게 다루려면 샘플 프로그램을 작성하고 실습해 보는 것이 좋습니다.

위 내용은 C# 파일 읽기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C#의 데이터세트다음 기사:C#의 데이터세트