파일 I/O(C# 및 Java)
업데이트: 2007년 11월
클래스와 메서드 시그니처에 대한 세부 사항은 다를 수 있지만 C#과 Java에서는 파일 I/O 작업을 수행하기 위해 유사한 개념을 사용합니다. C#과 Java에는 모두 파일 클래스와 관련 파일 읽기 및 쓰기 메서드에 대한 개념이 있습니다. XML 내용을 처리하기 위한 유사한 DOM(Document Object Model)도 있습니다.
Java 파일 작업 예제
Java에서는 File 개체를 사용하여 파일 만들기, 열기, 닫기, 읽기, 쓰기 등의 기본적인 파일 I/O 작업을 수행할 수 있습니다. 예를 들어, File 클래스의 createNewFile 또는 delete 메서드를 사용하여 파일을 만들거나 삭제하는 경우와 같이 File 클래스의 메서드를 사용하여 파일 I/O 작업을 수행할 수 있습니다. BufferedReader 및 BufferedWriter 클래스를 사용하여 파일의 내용을 읽고 쓸 수 있습니다.
다음 코드 예제에서는 새 파일을 만들고, 파일을 삭제하고, 파일의 텍스트를 읽고, 파일에 쓰는 방법을 보여 줍니다.
// Java example code to create a new file
try
{
File file = new File("path and file_name");
boolean success = file.createNewFile();
}
catch (IOException e) { }
// Java example code to delete a file.
try
{
File file = new File("path and file_name");
boolean success = file.delete();
}
catch (IOException e) { }
// Java example code to read text from a file.
try
{
BufferedReader infile = new BufferedReader(new FileReader("path and file_name "));
String str;
while ((str = in.readLine()) != null)
{
process(str);
}
infile.close();
}
catch (IOException e)
{
// Exceptions ignored.
}
// Java example code to writing to a file.
try
{
BufferedWriter outfile =
new BufferedWriter(new FileWriter("path and file_name "));
outfile.write("a string");
outfile.close();
}
catch (IOException e) { }
C# 파일 작업 예제
C#의 경우 .NET Framework에서 동일한 기능을 수행하는 클래스와 메서드를 사용하여 파일 만들기, 열기, 닫기, 읽기, 쓰기 등의 기본적인 파일 I/O 작업을 수행할 수 있습니다. 예를 들어, .NET Framework File 클래스의 메서드를 사용하여 파일 I/O 작업을 수행할 수 있습니다. 예를 들어, Exists 메서드를 사용하여 파일이 있는지 검사할 수 있습니다. Create 메서드를 사용하여 파일을 만들 수 있고, 다음 코드 예제에서 볼 수 있듯이 선택에 따라 기존 파일을 덮어쓸 수 있으며, FileStream 클래스와 BufferedStream 개체를 사용하여 파일을 읽고 쓸 수 있습니다.
다음 코드 예제에서는 파일을 삭제하고, 파일을 만들고, 파일에 쓰고, 파일에서 읽는 방법을 보여 줍니다.
// sample C# code for basic file I/O operations
// exceptions ignored for code simplicity
class TestFileIO
{
static void Main()
{
string fileName = "test.txt"; // a sample file name
// Delete the file if it exists.
if (System.IO.File.Exists(fileName))
{
System.IO.File.Delete(fileName);
}
// Create the file.
using (System.IO.FileStream fs = System.IO.File.Create(fileName, 1024))
{
// Add some information to the file.
byte[] info = new System.Text.UTF8Encoding(true).GetBytes("This is some text in the file.");
fs.Write(info, 0, info.Length);
}
// Open the file and read it back.
using (System.IO.StreamReader sr = System.IO.File.OpenText(fileName))
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
System.Console.WriteLine(s);
}
}
}
}
관련 단원
스트림에 대한 만들기, 읽기 및 쓰기 작업에 유용한 .NET Framework 클래스로는 StreamReader 및 StreamWriter 클래스가 있습니다. 파일을 처리하는 데 유용한 기타 .NET Framework 클래스에는 다음과 같은 것이 있습니다.
FileAccess 및 FileAttribute 클래스
Directory와 DirectoryInfo, Path, FileInfo 및 DriveInfo 클래스
BinaryReader 및 BinaryWriter 클래스
StringReader 및 StringWriter 클래스
TextReader 및 TextWriter 클래스
FileStream, BufferedStream 및 MemoryStream 클래스