IPhone之IO操作

 

//获取当前应用程序的主目录
NSString directoryPath =NSHomeDirectory();


//获取当前目录下的所有文件
NSArray directoryContents = [[NSFileManager defaultManager] directoryContentsAtPath: directoryPath];

 

//获取一个文件或文件夹
NSString *selectedFile = (NSString*)[directoryContents objectAtIndex: indexPath.row];


//拼成一个完整路径
[directoryPath stringByAppendingPathComponent: selectedFile];

 

 


BOOL isDir;

//判断是否是为目录


if ([[NSFileManager defaultManager] fileExistsAtPath:selectedPath isDirectory:&isDir] && isDir)

{//目录
}

else

{//文件
}

 

 

 

 

//日期格式化
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateStyle:NSDateFormatterMediumStyle];

[dateFormatter setTimeStyle:NSDateFormatterNoStyle];


//数字格式化

NSNumberFormatter *numberFormatter =[[NSNumberFormatter alloc] init];

[numberFormatter setPositiveFormat: @"#,##0.## bytes"];

 

 

//获取文件属性

NSDictionary *fileAttributes =[[NSFileManager defaultManager] fileAttributesAtPath: directoryPath traverseLink: YES];

//获取文件的创建日期

NSDate *modificationDate = (NSDate*)[fileAttributes objectForKey: NSFileModificationDate];

//获取文件的字节大小

NSNumber *fileSize = (NSNumber*)[fileAttributes objectForKey: NSFileSize];
//格式化文件大小
nsstring A = [numberFormatter stringFromNumber: fileSize];

//格式化文件创建日期

NSstring B =[dateFormatter stringFromDate: modificationDate];

 


[numberFormatter release];

[dateFormatter release];

 

 

 

 

 

 

//读取文件内容操作
- (void) loadFileContentsIntoTextView

{

//通过流打开一个文件

NSInputStream *inputStream = [[NSInputStream alloc] initWithFileAtPath: filePath];

[inputStream open];


NSInteger maxLength = 128;

uint8_t readBuffer [maxLength];

//是否已经到结尾标识

BOOL endOfStreamReached = NO;

// NOTE: this tight loop will block until stream ends

while (! endOfStreamReached)

{

NSInteger bytesRead = [inputStream read: readBuffer maxLength:maxLength];

if (bytesRead == 0)

{//文件读取到最后

endOfStreamReached = YES;

}

else if (bytesRead == -1)

{//文件读取错误

endOfStreamReached = YES;

}

else

{

NSString *readBufferString =[[NSString alloc] initWithBytesNoCopy: readBuffer length: bytesRead encoding: NSUTF8StringEncoding freeWhenDone: NO];   

//将字符不段的加载到视图

[self appendTextToView: readBufferString];

[readBufferString release];

}

}

[inputStream close];

[inputStream release];

}

 

 

 

 

异步文件读取  在网络方面,网络的不可靠性可能会造成上面方法的阻塞


nsstream是可以异步工作的。可以注册一个在流中有字节可读的时候回调的函数,如果没有可读的,就不要阻塞住。

 

暂略

### 回答1: intouch ioserver是 Wonderware 公司开发的一种用于连接和通信工业设备和应用程序的软件。它是一个用于实时数据传输和通讯的服务器软件,可以与各种不同类型的设备和系统进行通讯,包括PLCs(可编程逻辑控制器)、DCS(分散式控制系统)、SCADA(监控、控制和数据获取系统)和其他第三方设备。 intouch ioserver版本表示软件的具体发布和更新版本。每个版本通常会有不同的功能和改进,以提供更好的性能和支持。Intouch ioserver的版本通常会被用于控制工业过程、监控设备和数据采集等方面,因此更新版本可以提供更好的设备兼容性、性能改进和新的功能。 通过使用最新版本的intouch ioserver,用户可以更好地连接和通信工业设备和应用程序。此外,intouch ioserver还可以与Wonderware公司的其他软件和解决方案集成,如InTouch HMI(人机界面)和Historian(历史数据管理软件),以提供全面的工业自动化和数据管理解决方案。 总之,intouch ioserver版本是一个重要的概念,它代表了软件的更新和改进,提供了更好的设备兼容性、性能改进和新功能,使用户能够更好地连接和通信工业设备和应用程序。 ### 回答2: intouch ioserver是Wonderware InTouch软件的一个组成部分,用于与iOS设备(如iPhone和iPad)通信。它允许用户通过iOS设备监视和控制连接到InTouch SCADA系统的过程。 Intouch ioserver版本包括以下几个方面: 1. 兼容性:Intouch ioserver版本必须与使用的InTouch软件版本兼容,以确保正常的通信和数据传输。不同版本的Intouch ioserver可能与不同版本的InTouch软件有不同的功能和兼容性。 2. 功能:Intouch ioserver版本提供了一些基本的功能,如连接到InTouch SCADA系统,监视和操控过程变量,检索历史数据等。不同版本的Intouch ioserver可能会添加新的功能或改进现有的功能。 3. 特性:Intouch ioserver版本可能包含一些特殊的特性,如增强的安全措施、更快的数据传输速度、更灵活的配置选项等。这些特性平衡了系统的性能和用户的需求。 4. 更新和支持:Intouch ioserver版本经常会有更新和修复,以改进其功能和性能。此外,InTouch软件的支持也可能会提供与Intouch ioserver版本有关的技术支持和文档。 总的来说,Intouch ioserver版本是用于连接InTouch SCADA系统的iOS设备的软件组件,其功能和特性会随着不同版本的发布而有所变化,以提供更强大和稳定的通信能力。用户在选择Intouch ioserver版本时应考虑其兼容性、功能、特性以及更新和支持等方面的因素。 ### 回答3: Intouch IOServer是一款用于实时数据传输的软件,用于将离散的设备数据和生产过程中的各种数据连接起来进行统一管理和监控。该软件有多个版本,包括Intouch IOServer Standard版、Intouch IOServer Pro版和Intouch IOServer Enterprise版。 Intouch IOServer Standard版是最基础的版本,适用于小型项目和简单的数据传输需求。它支持多种通信协议,如OPC DA、Modbus、DDE等,并能够与Wonderware InTouch、Wonderware Historian等软件进行无缝集成。 Intouch IOServer Pro版在Standard版的基础上进行了功能扩展,支持更多的通信协议和设备连接方式,同时还提供了更强大的数据筛选和处理能力,能够对数据进行过滤、转换、合并等操作,满足更复杂的数据传输需求。 Intouch IOServer Enterprise版是最高级的版本,拥有最丰富的功能和最强大的性能。它支持多个服务器集群、冗余备份和高可用性配置,能够处理大规模项目和高频数据传输的需求。 无论是哪个版本,Intouch IOServer都提供了友好的用户界面和配置工具,使得用户能够方便地设置和管理数据传输的参数和通信设备。它的稳定性和可靠性经过了长期实践的验证,并且得到了广大用户的认可和好评。 总的来说,Intouch IOServer是一款功能强大、易用性高的实时数据传输软件,适用于不同规模和复杂度的项目,能够帮助用户实现数据的集中管理和监控,提高生产效率和运营效益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值