다트의 dart:io 라이브러리란 무엇인가요?
_____A1: dart:io는 Dart 프로그래밍 언어에서 파일, 네트워크, 프로세스, 소켓 등의 입출력(I/O) 작업을 지원하는 표준 라이브러리입니다. Flutter 모바일 앱에서는 제한적으로 사용되지만, 서버 또는 콘솔 애플리케이션에서는 필수적인 라이브러리입니다.
Q2: dart:io를 사용하는 주요 목적은 무엇인가요?
A2: 파일 읽기/쓰기, 네트워크 연결(HTTP 통신 제외, Socket 직접 연결 가능), 서버 소켓 구현, 프로세스 실행 및 관리, 표준 입출력(stdin, stdout, stderr) 등을 위해 사용됩니다.
Q3: dart:io는 어느 환경에서 사용할 수 있나요?
A3: dart:io는 서버, 데스크톱, 커맨드라인 애플리케이션 환경에서 사용할 수 있으며, 웹 환경에서는 지원되지 않습니다. Flutter 프로젝트에서는 모바일 및 데스크톱 환경에서 제한적으로 사용 가능합니다.
Q4: dart:io와 dart:html은 어떻게 다른가요?
A4: dart:io는 서버나 모바일/데스크톱 환경의 로컬 시스템 및 네트워크 리소스에 접근할 때 사용되고, dart:html은 웹 브라우저 환경에서 DOM 조작과 웹 API 접근을 위해 사용됩니다. 웹 앱에서는 dart:io를 사용할 수 없습니다.
Q5: dart:io의 주요 클래스들은 무엇인가요?
A5: 주요 클래스는 아래와 같습니다.
- `File`, `Directory`, `FileSystemEntity` : 파일 및 디렉터리 조작
- `Socket`, `ServerSocket` : TCP 소켓 통신
- `HttpClient` : HTTP 요청 생성(고수준)
- `Process` : 외부 프로세스 실행 및 관리
- `RandomAccessFile` : 파일의 랜덤 액세스
- `stdin`, `stdout`, `stderr` : 표준 입출력
Q6: dart:io를 사용할 때 주의해야 할 점은 무엇인가요?
Q7: dart:io를 사용하는 간단한 예시는 무엇인가요?
A7: 파일 읽기 예시:
```dart
import 'dart:io';
void main() async {
var file = File('example.txt');
String contents = await file.readAsString();
print(contents);
}
```
Q8: dart:io로 네트워크 통신이 가능한가요?
A8: 네, TCP/UDP 소켓통신, HTTP 클라이언트 기능을 지원합니다. HTTP 요청은 `HttpClient` 클래스를 이용하고, TCP 통신은 `Socket`과 `ServerSocket` 클래스를 통해 구현합니다.
Q9: dart:io 라이브러리와 dart:async 라이브러리는 어떻게 다르나요?
A9: dart:io는 입출력 관련 기능을 제공하고, dart:async는 비동기 프로그래밍을 돕는 Future, Stream 같은 기능을 제공합니다. dart:io 내부 기능들이 비동기로 동작할 때 dart:async의 기능과 함께 쓰입니다.
Q10: dart:io 라이브러리를 프로젝트에 추가하려면 어떻게 해야 하나요?
A10: dart:io는 Dart SDK에 기본 포함되어 별도 추가가 필요 없습니다. 단, `import 'dart:io';` 구문으로 가져와 사용하면 됩니다.
작성자:
최예진 [비회원]
| 작성일자: 1년 전
2024-09-19 01:52:39
조회수: 218 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 218 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.