归档和解归档

Java实现文件的归档和解档 主要为大家详细介绍了Java实现文件的归档和解档,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 立即下载
归档和解归档除了用于NSString、NSNumber、NSArray、NSDictionary等对象和NSData之间的转换(见 点击打开链接),还可以用来保存别的对象,如保存界面上的view对象。
对象归档必须做两件事情:
1.对象必须遵守NSCoding协议
2.在对象中实现该协议的两个方法
// 属性编码
- (
void )encodeWithCoder:( NSCoder *)aCoder{
    [aCoder encodeObject:
self .name forKey: @"name" ];
    [aCoder encodeInteger:
self .age forKey: @"age" ];
}

// 属性解码
- (
id )initWithCoder:( NSCoder *)aDecoder{
   
self = [ super init ];
   
if ( self ) {
       
self .name = [aDecoder decodeObjectForKey: @"name" ];
       
self .age = [aDecoder decodeIntegerForKey: @"age" ];
    }
   
return self ;
}

NSString、NSNumber、NSArray、NSDictionary以及UIView默认遵守了NSCoding协议。

//    一、 归档
    NSArray *names = @[@“ A " , @ “ B " , @ “ C " , @ “ D " ] ;
//   1. 准备一个可变的 data
    NSMutableData *data = [NSMutableDatadata];
//    2. 创建归档对象
   
NSKeyedArchiver *arch = [[ NSKeyedArchiver alloc ] initForWritingWithMutableData :data];
//    3. 把对象编码进去
    [arch
encodeObject :names forKey : @"names" ];
//    4. 完成编码
    [arch finishEncoding];
//    5、写入文件
    [data writeToFile:@"/Users/tarena/Desktop/names"atomically:YES];

//    二、解归档
//    1、读入文件
   NSData *data = [NSData dataWithContentsOfFile:@"/Users/tarena/Desktop/names"];
//    2、 创建反归档对象
    NSKeyedUnarchiver *unArch = [[NSKeyedUnarchiveralloc]initForReadingWithData:data];
//    3、 解码
    NSArray *names = [unArch decodeObjectForKey:@"names"];

银河麒麟高级服务器操作系统V10SP2(X86)PXE无人值守批量部署实战指南 本文详细介绍了银河麒麟高级服务器操作系统V10SP2(X86)PXE无人值守批量部署的实战指南。通过PXE网络引导技术,实现全自动化、高效率的系统部署,特别适用于企业级数据中心和国产化替代项目。文章涵盖基础环境准备、关键服务配置、Kickstart高级定制及部署测试等核心内容,帮助用户快速掌握批量部署技巧。 阅读详情

相关推荐

一文读懂GPU通信互联技术:GPUDirect、NVLink与RDMA

GPUDirect是NVIDIA开发的一项技术,旨在实现GPU与其他设备(如网络接口卡NIC和存储设备)之间的直接通信和数据传输,而无需CPU的参与。传统上,数据在GPU和另一个设备之间传输时,必须通过CPU,这导致潜在的性能瓶颈和延迟增加。GPUDirect技术则通过绕过CPU,直接访问和传输数据,显著提高系统性能。NVLink是NVIDIA开发的一种高速、高带宽的互连技术,用于连接多个GPU之间或GPU与其他设备(如CPU、内存等)之间的通信。

异构算力老群群(在读985计算机博士生)的技术博客 7770

归档与解归档是啥 你懂么~

今天上午讲的内容是,关于归档和解归档的问题 标准分辨归档的格式是: NSString *str = @"abc"; [NSKeyedArchiver archiveRootObject:str toFile:@"/Users/apple/Desktop/test.plist"]; //将字符串str写入test.plist文件,归档 标准分辨解归档的格式是: NSString *str1 = [

T_goodboy的专栏 803

使用RepeatModeler和RepeatMasker注释基因组重复序列

重复序列注释有两种常用策略,基于同源序列相似性和基于重复序列结构特征。RepeatMasker是基于同源序列相似性注释序列的常用工具, RepeatModeler可用来从头对基因组的重复序列家族进行建模注释,它的核心组件是RECON和RepatScout。 这篇教程介绍如何使用RepeatModeler从头鉴定基因组的重复序列,之后用RepeatMasker根据自...

xuzhougeng blog 8849

Java 文件归档和解归档

将各种类型的文件统一放入.yar 文件下package cn.yif.Archiver; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Arrays...

e31006的博客 1637

ABP框架实战:从零搭建多租户应用(含完整代码示例)

本文详细介绍了如何使用ABP框架从零构建多租户SaaS应用,涵盖多租户架构设计、数据隔离实现、租户管理及性能优化等核心内容。通过完整的代码示例,帮助开发者快速掌握企业级数据隔离系统的开发技巧,提升SaaS应用开发效率。

weixin_29247219的博客 261

达梦数据库JDBC连接池断开自动重连设置

一、场景 在网络状况不是非常良好,经常会出现暂时性的拥塞或者断开的情况,而且当我们重启数据库时也会发生类似的情况。所以需要配置中间件的连接池来实现连接测试以及自动重连,通过重新配置连接池,成功解决了这个问题。下面会给出一份数据源配置参数详单和一份推荐的数据源配置项。 二、连接池配置参数 1. initialSize:连接池启动时创建的初始化连接数量 2. maxActive:连接池中可同时连接的最大的连接数 3. maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负

lilv1989的博客 7235

iOS:文件归档和解归档的详解和使用

文件归档和解归档: 用途: 所谓文件归档,就是把需要存储的对象数据存储到沙盒的Documents目录下的文件中,即存储到了磁盘上,实现数据的持久性存储和备份。解归档,就是从磁盘上读取该文件下的数据,用来完成用户的需求。对象归档是将对象归档以文件的形式保存到磁盘中(也称为序列化,持久化),使用的时候读取该文件的保存路径的读取文件的内容(也称为接档,反序列化),(对象归档的文件是...

dienangpiao2051的博客 374

遥感图像处理实战:DOTA数据集旋转框转YOLO格式全流程解析(附代码)

本文详细解析了将DOTA遥感数据集的旋转框标注转换为YOLO格式的全流程。针对遥感图像中物体朝向任意性的特点,文章重点阐述了将旋转框转换为外接水平框的数学原理与代码实现,并提供了批量转换脚本和可视化验证方法,帮助开发者高效处理数据,为基于YOLO的遥感目标检测项目奠定基础。

weixin_29082143的博客 397

OC 归档和解档 总结

//----------------第一种形式------------------------------------                  //对象->文件   ************ 归档  ***************         NSArray *array = [NSArray arrayWithObjects:@"one",@"two",@"three",@"

ycw343465134的专栏 689

Unity零基础到入门☀️| 万字教程 讲解Unity中的数据存储 PlayerPrefs、XML、JSON【建议收藏】

本文章是Unity零基础到入门专栏的系列文章。 适合对Unity3D引擎感兴趣的小伙伴学习,偏向于新手学习! 本篇文章就来介绍一下Unity中三种基本的数据存储方式:PlayerPrefs、XML、JSON

努力前行,总会成为自己心中的那道光 8万+

RK3568平台(网络篇)WIFI模块RTL8821CU调试

RTL8821CU是瑞昱半导体推出的usb接口的wifi,下面的教程将介绍如何将RTL8821CU移植到rk3588的平台上。移植usb wifi需要修改的文件Android hal层需要修改的文件//kernel需要修改的文件kernel/arch/arm64/boot/dts/rockchip/rk3399-tve1030g.dtsi //除去板上的sdio的wifi。

weixin_49303682的博客 3903

iOS归档和解归档

iOS最基本的归档和解归档的用法: main.m里面需要实现: #import #import "Animal.h" int main(int argc, const char * argv[]) {     @autoreleasepool {         Animal *animal = [Animal new];         animal.

wangweichuantcy的博客 415

ZYNQ USB按键读写操作详解:从裸机到Linux系统的完整实现

USB接口在现代嵌入式系统中扮演着至关重要的角色,而按键作为最基础的人机交互设备,其与USB的结合能够实现丰富的应用场景。这种实现不仅适用于简单的键盘应用,还可以扩展为游戏控制器、专业输入设备或工业控制面板,展现了ZYNQ在嵌入式USB应用中的强大灵活性。:USB控制器需要准确的时钟源,通常使用外部33MHz晶振,并在Vivado中正确配置。结合ZYNQ的PL(可编程逻辑)和PS(处理系统)优势,可以创建创新的USB按键应用。本文详细介绍了在ZYNQ平台上实现USB按键读写的完整方案,涵盖了从。

QQ_778132974的博客 375

归档和解挡

一、已有类型的归档和解档 首先来看一个简单的例子: [objc] view plaincopy //   //  main.m   //  33_ObjectToFile   //   //  Created by jiangwei on 14-10-13.   //  Copyright (c) 2014年 jiangwei. 

code changes world! 971

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

文件的归档、压缩和解压缩

有时候我想把多个文件一起进行收发,如果可以使用一条命令把他们放在一个文件里并且能够压缩就好了。 一、归档文件tar tar归档文件时是不包括链接的。 下图是使用tar cf etc.tar /etc /mnt 将/eyc和/mnt里的文件归档到桌面的etc.tar文件里 使用tar tf etc.tar 查看etc.tar里的文件 先touch file 然后使用tar rf ...

一只胖橘猫的博客 1848

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

runtime 实现 归档和解档

runtime 实现 归档和解档

不积跬步,无以至千里;不积小流,无以成江海。 673

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

iOS对象的归档和解档-Runtime实现

前言 在之前的文章什么是序列化?序列化的作用是什么?iOS中怎么实现序列化?中我们用普通方法实现了对象的序列化操作,也就是归档和解档。 对遵循了NSCoding协议的iOS对象进行归档和解档是我们经常用到的一种数据持久化方式。但是如果对象的属性太多了我们还是对每个属性都实现一遍encodeObject:forKey:和decodeObjectForKey:方法,这样写的代码量太多了,会显得很繁...

俊而不逊的博客 885

iOS基础 归档和解归档

在iOS的实际开发中,我们有很多的地方会运用的数据缓存。数据缓存中用到的技术大概有SQLite,NSUserDefaults,coreDat等。还有一些第三方的基本是对上面的封装。我这里介绍的是最基础的归档. 1.先建立一个person类,并且专寻NSCoding协议:@interface Person : NSObject<NSCoding> @property(nonatomic,strong

NS_DavidLee的专栏 452

【iOS】文件(对象数据)的归档和解档

本文对iOS开发中数据持久化方法之一 --- 归档解档进行了学习,包括对单个对象、自定义对象、多个对象的归档和解档

XY_Mckevince的博客 1109

python shutil 归档和解包操作

make_archive() 功能:归档函数,归档操作 格式:shutil.make_archive(‘目标文件路径’,‘归档文件后缀’,‘需要归档的目录’) 返回值:归档文件的最终路径 unpack_archive() 功能:解包操作 格式:shutil.unpack_archive(‘归档文件路径’,‘解包目标文件夹’) 返回值:None 注意:文件夹不存在会新建文件夹 get_archive...

hhtjx的博客 948

浅谈runtim的归档和解档

自定义一个Person类 Person.h里面 #import <Foundation/Foundation.h> //遵循一个NSCoding协议 @interface Person : NSObject<NSCoding> //定义三个person类的属性 @property(strong,nonatomic)NSString *name; @pr...

weixin_30457551的博客 117

OC单个对象的归档和解归档

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34269583的博客 125

【IPHONE开发-OBJECTC入门学习】对象的归档和解归档

转自:http://blog.youkuaiyun.com/java886o/article/details/9046967 #import<Foundation/Foundation.h> #import"Person.h" intmain(intargc,constchar*argv[]) { @aut...

diyuan365760的专栏 126
上一篇: NSData和NSMutableData
下一篇: CoreData 简单使用
BobooO
博客等级 码龄18年 29粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值