`
shappy1978
  • 浏览: 679912 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转]IPhone之IO操作

阅读更多

IPhone之IO操作


 //获取当前应用程序的主目录
标签: 

io

 

操作

 

杂谈

分类: IPhone

//获取当前应用程序的主目录
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是可以异步工作的。可以注册一个在流中有字节可读的时候回调的函数,如果没有可读的,就不要阻塞住。

 

暂略

分享到:
评论

相关推荐

    apple-store-helper:苹果商店iPhone预约助手

    Apple Store预约助手起因是想购买iPhone12Pro,又懒得一直守着官网,然后学习GUI框架正常预约步骤进入商品预购页面选择具体型号和门店要求输入注册码选择到店时间,填写身份证号完成重要提示这不是外挂,不能自动...

    CsvToSqlite:将 CSV 数据导入 iPhone 上的 SQLite 数据库的库

    图书馆这是一个用于解析简单 *.CSV 文件的库。 该库不完全符合 rfc4180,因为我们不支持引用值... 如果列数或名称不匹配,则会产生错误时间性能优化- 文件 IO(FS 绑定)和解析操作(CPU 绑定)在多个线程上执行并使用

    ios-anyrtc_P2P.zip

    操作步骤: 1、两台iphone手机分别登录两个不同的账号; 2、一台iphone手机点击发起通话进入呼叫页面,输入对方手机号; 3、选择呼叫模式开始呼叫,呼叫接通开始会话。 特性: 1:视频通话 2:语音通话 3:...

    pythonista-homescreen-icon:一个 Pythonista 实用程序(旨在放置在操作菜单中),允许您为任何脚本添加主屏幕图标

    pythonista-homescreen-icon 一个 Pythonista 实用程序(旨在放置在操作菜单中),允许您为任何脚本添加主屏幕图标 安装脚本: import zipfile , requests , io c = requests .... 目前仅在 iPhone 5s 上测试

    feem_for_windows_desktop_4_3_0.zip

    支持局域网内iPhone、安卓手机、Windows、Mac、iPad 等多种不同操作系统的设备之间传输文件、图片、视频、交换文档和文字内容。此版本为windows8以下的PC客户端,其他操作系统的版本可到官网下载:www.feem.io

    java餐饮管理系统源码-Allow2.github.io:Allow2中央维基

    java餐饮管理系统源码卷入 Allow2 是下一代强大的家长自由平台。 Allow2 不是关于减少用户! 它是关于提供许多人需要的功能。 这为您的游戏、应用程序、网站...引入操作系统非常容易,或者只是开始使用它。 免费! 你在

    awesome-libs-ios:真棒库应用

    如果要在Awesome Libs应用程序中列出您的库,请将演示上传到Appetize.io ,然后在此处使用GitHub链接打开一个问题,并打开Appetize公钥。 会费 :pick: 我们不接受请求请求以及任何其他形式的捐助。 但是您可以...

    Friday Night Funkin Mobile Download iOS 2021-crx插件

    星期五之夜funkin ios下载,星期五之夜funkin下载 Friday Night Funkin Mobile下载-如何下载iOS版Friday Night Funkin iOS iPhone Android(2021)此Friday Night Funkin应用程序适用于Android和iOS。 如果您有没有...

    newsFeed-NYT-iOS:使用纽约时报API的iOS实时新闻源应用程序-适用于iOS的服务器发送的事件

    请按照以下步骤操作: 1-在上创建一个免费的NYT开发人员帐户,以获取NYT API密钥。 2-在Streamdata.io上创建一个免费帐户,以通过获取您的公钥和私钥。 3-在Mac上启动Xcode,然后打开newsFeed项目。 4-编辑...

    15行CSS代码让苹果设备崩溃,最新的iOS 12也无法幸免

    只需15行CSS代码,就可以让你的iPhone崩溃 Wire 的安全研究员 Sabri Haddouche 发现了一种新的攻击,只需访问包含某些 CSS 和 HTML 的网页,就会导致 iOS 重新启动以及 macOS 冻结。 Windows 和 Linux 用户不受此...

    pwa-workshop:阿姆斯特丹JSNation 2018的PWA研讨会

    智能手机(iPhone用户必须手动添加到主屏幕) 入门 请按照以下步骤操作,以使示例应用程序在您的计算机上运行。 git clone https://github.com/xebia/pwa-workshop.git cd pwa-workshop npm install npm start 在...

    Restaurant Point of sale source code:免费下载源代码餐厅免费销售点-开源

    有了云端安装,您就可以通过台式机,Android iPhone智能手机和其他操作系统等多种设备使用此应用。 如何安装和使用此应用程序? 只需阅读https://axcora.com所提供的文档...

    z-push-ox:Open-Xchange Z-Push-2 后端

    基础设施 -2 是微软 ActiveSync 协议的一种实现,该协议用于多平台主动同步设备,包括 Windows Mobile、Apple 的 iPhone、索尼爱立信和诺基亚手机。 Z-Push-OX 使用差分引擎作为后端实现。变更日志可以在找到更改...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目源代码

    Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...

    大数据与人工智能.pptx

    什么是大数据 老生常谈的4个V 第五个V: Value 10秒的iPhone视频 1980x1080x25x10 =518,400,000像素 是大数据吗? 一个Excel表,10,000行 用户A,用户B,转账金额 是大数据吗? 大数据与人工智能全文共42页,当前为...

    详解iOS应用使用Storyboard布局时的IBOutlet与IBAction

    通信, 代码如何操作界面上的对象。在iPhone平台上,引入了IBOutlet与IBAction。通过在变量前增加IBOutlet 来说明该变量将与界面上的某个UI对象对应,在方法前增加IBAction来说明该方法将与界面上的事件对应.  下面...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    常用数据结构(List、Dictionary、Array)、多态、常用设计模式、反射、常用.net类库、泛型、IO流、委托事件、正则表达式、XML、反射、GC等。 2、数据库开发及ADO.Net(6天) 核心技术课程 数据库开发基础、...

Global site tag (gtag.js) - Google Analytics