파일 크기 기준을 충족하기 위해 파일에 삽입할 특정 길이의 문자열을 생성하는 방법?
파일 크기와 관련하여 몇 가지 로드 문제를 테스트해야 할 필요가 있습니다.자동으로 파일을 생성해주는 C#로 작성된 윈도우 어플리케이션이 있습니다.각 파일의 크기, 예를 들어 100KB, 생성할 파일의 개수를 알고 있습니다.제가 도움이 필요한 것은 필요한 파일 크기 이하의 문자열을 생성하는 방법입니다.
의사 코드:
long fileSizeInKB = (1024 * 100); //100KB
int numberOfFiles = 5;
for(var i = 0; i < numberOfFiles - 1; i++) {
var dataSize = fileSizeInKB;
var buffer = new byte[dataSize];
using (var fs = new FileStream(File, FileMode.Create, FileAccess.Write)) {
}
}
다음을 수행하는 문자열에 대해 항상 생성자를 사용할 수 있습니다.char
그 캐릭터를 반복하기를 원하는 횟수는 다음과 같습니다.
string myString = new string('*', 5000);
이것은 5,000개의 별들을 제공합니다. 필요에 따라 조정합니다.
가장 쉬운 방법은 다음 코드를 따르는 것입니다.
var content = new string('A', fileSizeInKB);
이제 필요한 만큼의 A가 포함된 문자열을 확보했습니다.
로렘 입섬이나 다른 반복 문자열로 채우려면 다음과 같은 의사 코드를 작성합니다.
string contentString = "Lorem Ipsum...";
for (int i = 0; i < fileSizeInKB / contentString.Length; i++)
//write contentString to file
if (fileSizeInKB % contentString.Length > 0)
// write remaining substring of contentString to file
편집: 유니코드에 저장할 경우, 유니코드는 문자당 2바이트를 사용하므로 파일 크기를 절반으로 줄여야 할 수도 있습니다.
이것을 어떻게 할 수 있는지에 대해서는 매우 다양합니다.그 중 하나는, 파일을 차로 채우는 것입니다.100KB가 필요하다고요?문제없습니다..100 * 1024 * 8 = 819200 비트.한 글자는 16비트입니다.819200 / 16 = 51200.51,200자를 파일에 꽂아야 합니다.그러나 파일에 추가 헤더/메타 데이터가 있을 수 있으므로 이를 고려하여 파일에 쓸 문자 수를 줄여야 할 수도 있습니다.
귀하의 질문에 대한 부분적인 답변으로 저는 최근 거의 모든 크기의 'junk' 파일을 쉽게 만들 수 있는 휴대용 WPF 앱을 만들었습니다. https://github.com/webmooch/FileCreator
언급URL : https://stackoverflow.com/questions/5032041/how-to-generate-string-of-a-certain-length-to-insert-into-a-file-to-meet-a-file
'programing' 카테고리의 다른 글
UIView 하위 클래스의 Nib을 로드하는 올바른 방법 (0) | 2023.10.18 |
---|---|
angularjs로 ng가 아닌 다른 접두사를 사용해도 될까요? (0) | 2023.10.18 |
자바스크립트에서 시간대 오프셋이 있는 날짜를 ISO 8601 형식으로 지정하는 방법은 무엇입니까? (0) | 2023.10.18 |
jQuery 텍스트 전환? (0) | 2023.10.18 |
일치하지 않는 변형 숨기기 (0) | 2023.10.18 |