//获取当前应用程序的主目录
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是可以异步工作的。可以注册一个在流中有字节可读的时候回调的函数,如果没有可读的,就不要阻塞住。
暂略
相关推荐
在本文中,我们将深入探讨如何利用UART的寄存器(IO底层)实现数据传输,而不是依赖API或内置函数,通过直接操作I/O端口来实现这一功能。 UART的工作原理: UART是一种全双工的通信协议,它允许数据同时在两个方向...
iOS7是苹果公司在2013年发布的一个重大操作系统更新,引入了许多新的设计元素和功能,为开发者提供了更丰富的API和工具。以下是关于iOS7开发的一些关键知识点: 1. **Swift与Objective-C**:iOS开发通常使用两种...
标题中的“IO6下载软件”指的是苹果公司的iOS 6操作系统,这是一个针对iPhone、iPad和iPod touch设备的操作系统版本。iOS 6在2012年发布,带来了多项新功能和改进,例如全新的地图应用、Passbook服务以及Siri语音...
标题中的“iPhone系统APP功能介绍模板”表明这是一个用于展示iPhone应用程序功能的HTML模板,特别针对苹果的iOS操作系统设计。HTML模板是网页设计中的一种常见工具,它提供了预先编排好的结构和样式,使得开发者能够...
`rotateImage`方法则负责实际的图像旋转操作,可以使用Java AWT的`AffineTransformOp`。 `compressImage`方法则用于压缩图片,这里我们简单地使用了`javax.imageio.ImageIO.write`方法,将图片保存为JPEG格式,并...
### Google IO PPT 2009:Cache Pattern for Offline Web Applications #### 一、引言 在2009年的Google I/O大会上,Robert Kroeger发表了一场关于“离线Web应用缓存模式”(Cache Pattern for Offline Web ...
- **描述**:这是iPhone 4的核心处理单元,负责执行操作系统及应用程序等任务。 - **供应商**:这部分内容未明确指出供应商信息,但从其他文档推测,可能是由三星或苹果自研的A4芯片。 2. **无线模块(Wi-Fi / ...
在本文中,我们将深入探讨如何使用C#语言读取和写入iPhone中的plist文件,以及如何构建相关的工程文件。 首先,理解.plist文件: .plist文件全称是Property List,它是Apple操作系统(包括iOS和macOS)中的一种标准...
标题中的“IO5 GUI设计PSD源文件”指的是与苹果公司iOS 5.1操作系统相关的图形用户界面(GUI)设计的Photoshop Document(PSD)源文件。在UI/UX设计领域,PSD源文件是设计师们常用的一种格式,因为它允许进行多层次...
在Android开发中,为了提供与iOS类似的用户体验,有时我们需要实现iPhone风格的Picker。"android实现iphone风格的picker"这个主题正是关注如何在Android平台上构建一个类似iPhone中的Picker View,即一个可滚动的...
iPhone模拟器是一种软件工具,允许用户在非苹果设备,例如Windows操作系统上体验和测试iOS应用。这个技术对于开发者、设计师以及那些希望在不购买实际iPhone的情况下试用iOS应用的用户来说非常有用。在Windows上运行...
这对于想要扩展或定制功能,或是对文件IO和XML处理感兴趣的开发者来说,是一份宝贵的参考资料。 使用“iphone-plist-net”库进行Plist操作的基本步骤如下: 1. **安装库**:首先,需要将库导入到你的C#项目中。...
cocos2d虽然不直接支持网络编程,但可以与其他网络库结合,如CocoaAsyncSocket或Socket.IO,实现这一功能。 8. **资源管理和内存优化** 游戏中大量的图像、音频和数据文件需要妥善管理。cocos2d提供了资源加载和...
首先,我们需要了解Core Animation是苹果iOS和macOS操作系统中的一个关键技术,它提供了一种创建2D图形和动画的低级接口。Core Animation通过图层(CALayer)的概念,使得开发者可以轻松地创建复杂的视觉效果,包括...
在解析iPhone4 LCD数据表(LH350WS1-SD02.pdf)时,我们可以了解到这款液晶...通过以上信息,我们可以得到iPhone4 LCD(LH350WS1)的详尽性能参数和技术规格,从而为维修、更换或开发与之兼容的硬件提供技术指导。
至于文件名"io0007-find_progess",虽然与题目主题不直接相关,但看起来像是一个关于I/O操作或者查找进程的程序或脚本。在实际的编程环境中,可能会有类似的功能用于监控或管理应用程序的运行状态,尤其是在处理异步...
Apple Store预约助手起因是想购买iPhone12Pro,又懒得一直守着官网,然后学习GUI框架正常预约步骤进入商品预购页面选择具体型号和门店要求输入注册码选择到店时间,填写身份证号完成重要提示这不是外挂,不能自动...
Favicon 是"Favorites Icon"的缩写,它是一个代表网站或应用的小图标,通常出现在浏览器的地址栏、书签、新标签页以及有时在操作系统任务栏上。在本案例中,上传的文件包含了不同尺寸和格式的 favicon 图标,这可能...
在苹果手机上访问相册并上传照片是一项基本且频繁的操作,尤其对于社交媒体用户和云存储服务的使用者来说。本文将详细讲解如何在iPhone上轻松访问...理解这些操作和设置将有助于你更高效、安全地使用iPhone的相册功能。
“iphone”和“ipad”标签则明确了Delta模拟器适用于苹果公司的移动设备,包括iPhone和iPad,这扩展了它的受众范围,使得iOS用户也能享受游戏模拟的乐趣。 “skins”标签是关键,它直接关联到压缩包内的内容。这些...