반응형
파일 크기 찾기
내 iPhone 앱에서 파일 크기를 찾기 위해 다음 코드를 사용하고 있습니다. 파일이 존재하더라도 크기가 0으로 표시됩니다. 누구든지 나를 도울 수 있습니까? 미리 감사드립니다.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *URL = [documentsDirectory stringByAppendingPathComponent:@"XML/Extras/Approval.xml"];
NSLog(@"URL:%@",URL);
NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL error:&attributesError];
int fileSize = [fileAttributes fileSize];
이 시도;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL error:&attributesError];
NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];
실제로는 절대 초과하지 않으므로 iOS의 경우 확실히 long으로 떨어질 수 있지만 fileSize가 반드시 정수 (특히 서명 된 정수)에 맞지는 않습니다. 이 예제는 내 코드에서 훨씬 더 큰 스토리지를 사용할 수있는 시스템과 호환되어야하는 한 오래 사용됩니다.
스위프트의 한 라이너 :
let fileSize = try! NSFileManager.defaultManager().attributesOfItemAtPath(fileURL.path!)[NSFileSize]!.longLongValue
URL
( NSURL
가 아니라 String
) 가 있으면 다음 없이 파일 크기를 얻을 수 있습니다 FileManager
.
let attributes = try? myURL.resourceValues(forKeys: Set([.fileSizeKey]))
let fileSize = attributes?.fileSize // Int?
스위프트 4.x
do {
let fileSize = try (FileManager.default.attributesOfItem(atPath: filePath) as NSDictionary).fileSize()
print(fileSize)
} catch let error {
print(error)
}
MB 단위로 파일 크기 가져 오기이 코드를 사용해보십시오.
func getSizeOfFile(withPath path:String) -> UInt64?
{
var totalSpace : UInt64?
var dict : [FileAttributeKey : Any]?
do {
dict = try FileManager.default.attributesOfItem(atPath: path)
} catch let error as NSError {
print(error.localizedDescription)
}
if dict != nil {
let fileSystemSizeInBytes = dict![FileAttributeKey.systemSize] as! NSNumber
totalSpace = fileSystemSizeInBytes.uint64Value
return (totalSpace!/1024)/1024
}
return nil
}
참조 URL : https://stackoverflow.com/questions/5743856/finding-files-size
반응형
'IT박스' 카테고리의 다른 글
모든 ivar는 재산이어야합니까? (0) | 2020.12.29 |
---|---|
RegExp 개체에 정규식 수정 자 옵션 전달 (0) | 2020.12.29 |
비밀번호없이 localhost에 ssh하는 방법은 무엇입니까? (0) | 2020.12.28 |
Total Commander에서 검색 할 때 .svn 폴더를 무시하는 방법 (0) | 2020.12.28 |
ActiveRecord Arel OR 조건 (0) | 2020.12.28 |