Вы можете перечислить свойства через Reflection и проверить их:
bool ContainsOnlyValues() {
return typeof(ProgrammeClient).GetProperties().All(x => x.PropertyType.IsValueType);
}
dd if=/dev/zero of=upload_test bs=file_size count=1
, Где file_size
размер Вашего тестового файла в байтах
Только для продолжения Tom сообщение можно использовать dd для создания редких файлов также:
dd if=/dev/zero of=the_file bs=1 count=0 seek=12345
Это создаст файл с "дырой" в нем на большей части unixes - данные не будут на самом деле записаны в диск или займут любое место до чего-то другого, чем нуль записан в него.
Используйте эту команду:
dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS
Для создания большого (пустого) файла установите $INPUT-FILE=/dev/zero
.
Общий размер файла будет $BLOCK-SIZE * $NUM-BLOCKS
.
Новый созданный файл будет $OUTPUT-FILE
.
Вы могли сделать:
[dsm@localhost:~]$ perl -e 'print "\0" x 100' > filename.ext
, Где Вы заменяете 100 числом байтов, Вы хотите записанный.
dd if=/dev/zero of=my_file.txt count=12345
Можно сделать это программно:
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
int main() {
int fd = creat("/tmp/foo.txt", 0644);
ftruncate(fd, SIZE_IN_BYTES);
close(fd);
return 0;
}
Этот подход особенно полезен для впоследствии mmap файл в память.
используют следующую команду, чтобы проверить, что файл имеет корректный размер:
# du -B1 --apparent-size /tmp/foo.txt
Быть осторожным:
# du /tmp/foo.txt
, вероятно, распечатает 0 , потому что это выделяется как Редкий файл , если поддерживается Вашей файловой системой.
см. также: человек 2 открытых и человек 2 усеченных