2010-01-25 3 views
1

캐리지 리턴을 사용하여 파일에 base64 문자열을 분할하지 않으면 문제가 발생합니까?캐리지 리턴없이 파일에 base64 문자열 쓰기

큰 문자열을 쓰고 읽는 데 어려움을 겪을 수있는 길이가 있습니까?

지금은 저장하는 문자열의 크기가 약 100 자이지만 10,000+ 범위에 들어갈 수 있습니다. 문제가 될까요?

미리 감사드립니다.

+0

나중에 파일을 구문 분석 할 때 사용하는 항목에 따라 다릅니다. –

+1

10KB는 특히 큰 문제는 아니지만 Neil의 조언은 여전히 ​​좋습니다. – Brian

답변

5

줄 바꿈없이 파일 시스템이 허용하는만큼 큰 파일을 가질 수 있습니다.

큰 파일의 경우 읽기가 어려울 수 있습니다. StreamReader 나 문자열을 문자열로로드하는 대신 바이트 배열 형식의 버퍼를 사용하는 것이 좋습니다.

1

데이터를 디코딩하는 응용 프로그램이 한 번에 파일 행을 읽는 경우 자원을 사용하지 않는 것이 좋습니다. 그러나 문제를 일으키는 것을 볼 수있는 유일한 방법은 디코딩 응용 프로그램이 한 번에 한 줄씩 읽는다면 줄이 길고 디코딩 응용 프로그램의 메모리가 부족한 것입니다.

1

직접 질문에 대답하려면 예. 단일 큰 문자열을 사용하는 경우 읽기/쓰기 성능 문제가 있음을 알 수있는 크기가 있습니다. 그러나 디스크 입출력 (Disk IO), CPU로드 및 여유 메모리와 같은 많은 것들에 달려 있습니다. 반 현대적인 컴퓨터에서 파일이 2-3MB 미만인 경우에는 문제가 발생하지 않는다고 말할 수 있습니다. 훨씬 더 나은 성능을 yeild 당신이 진행 막대를 표시 할 수 있기 때문에 버퍼를 사용하는 닐의 조언은, 좋은 조언을했다

등 전체 파일을 읽고 응용 프로그램에 따라 다릅니다

2

. 그것을 읽는 네이티브 C/C++ 응용 프로그램이라면 확실히이 작업을 수행하지 않을 것입니다. .NET 또는 Java 응용 프로그램은 더 많은 메모리를 소비하지 않아도됩니다. MIME (RFC 2045)은 한 줄에 76자를 초과 할 필요가 없으며 패딩에 "="을 사용합니다. 나는 당신이 그것을 사용하는 것이 좋습니다.