创建二进制(.bin)文件并从iphone中的文件读取值

时间:2012-01-29 10:52:55

标签: iphone ios ipad binary

您好我正在尝试将文本值保存为二进制文件并从该文件中读取。我正在使用下面的代码,我在文件目录中得到了二进制文件但是当从文件中读取数据时只得到一些数字,请帮助它紧急。 写作

NSString *documentsDirectoryPath = [self performSelector:@selector(tempDirectoryPath:) withObject:fileName_];
NSLog(@"%@",documentsDirectoryPath);

if ([[NSFileManager defaultManager] isWritableFileAtPath:documentsDirectoryPath]) {
    NSLog(@"content =%@",data_);
    [data_ writeToFile:documentsDirectoryPath atomically:YES];
    return YES;
}

为了阅读我使用以下代码,

  NSString *documentsDirectoryPath = [self performSelector:@selector(tempDirectoryPath:) withObject:fileName_];

if ([[NSFileManager defaultManager] isReadableFileAtPath:documentsDirectoryPath]) {
    NSMutableData *data_ = [NSMutableData dataWithContentsOfFile:documentsDirectoryPath];

    return data_;
}

我只从data_中获得了数字。

如何正确读取.bin文件。?

我在获取.bin.cpgz文件时得到.bin文件。我无法打开文件是什么原因?代码有什么问题吗? 我以这种方式传递字符串:

[self writeData:@"test string is here" toFile:@"mf.bin"]; 

感谢。

2 个答案:

答案 0 :(得分:0)

听起来你需要将数据转换成可读的东西。

NSString *myFile = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

这假定您编写的数据最初是NSString,如果它是一个对象,则必须使用该对象的相应方法。

答案 1 :(得分:0)

这有点晚了,但是这样的事情可能会对你有所帮助:

http://snippets.aktagon.com/snippets/475-How-to-use-NSKeyedArchiver-to-store-user-settings-on-the-iPhone