zoukankan      html  css  js  c++  java
  • OC 文件基本操作

      1 //
      2 //  main.m
      3 //  oc_13
      4 //
      5 //  Created by ma c on 15/12/17.
      6 //  Copyright (c) 2015年 博文科技. All rights reserved.
      7 //
      8 
      9 #import <Foundation/Foundation.h>
     10 #define FILEPATH @"/Users/mac/Desktop/"
     11 #define FILEPATH1 @"/Users/mac/Desktop/bowen.txt"
     12 
     13 
     14 int main(int argc, const char * argv[]) {
     15     @autoreleasepool {
     16         // insert code here...
     17         // NSLog(@"Hello, World!");
     18         
     19         //NSFileManager 文件管理类(操作文件)
     20         //NSFileHandle 文件句柄(光标)类(操作文件内容)
     21         
     22         /*
     23          NSFileManager 文件管理类(操作文件)
     24          1.创建文件夹/文件
     25          2.读取文件
     26          3.拷贝文件
     27          4.移动文件(重命名文件)
     28          5.删除文件
     29          6.杂项操作
     30          7.文件遍历
     31          
     32          
     33          NSFileHandle 文件句柄(光标)类(操作文件内容)
     34          1.文件写入
     35          2.文件读取
     36          
     37          */
     38         //----------NSFileManager 文件管理类(操作文件)---------//
     39 
     40         //单例模式
     41         //创建文件
     42         NSFileManager *fm = [NSFileManager defaultManager];
     43         NSString *fileName = @"bowen.txt";
     44         NSString *filePath = [FILEPATH stringByAppendingPathComponent:fileName];
     45         NSString *content = @"here is a string";
     46         NSData *fileData = [content dataUsingEncoding:NSUTF8StringEncoding];
     47         
     48         BOOL flag = [fm createFileAtPath:filePath contents:fileData attributes:nil];
     49         
     50         if (flag) {
     51             NSLog(@"文件创建成功");
     52         }
     53         else
     54             NSLog(@"文件创建失败");
     55         
     56         
     57         //创建文件夹
     58         NSFileManager *fm1 = [NSFileManager defaultManager];
     59         
     60         NSString *directoryName = @"bowen";
     61         NSString *directoryPath = [FILEPATH stringByAppendingPathComponent:directoryName];
     62         
     63         
     64         BOOL flag1 = [fm1 createDirectoryAtPath:directoryPath withIntermediateDirectories:YES attributes:nil error:nil];
     65         
     66         if (flag1) {
     67             NSLog(@"文件夹创建成功");
     68         }
     69         else
     70             NSLog(@"文件夹创建失败");
     71         
     72         // 读取文件
     73         NSFileManager *fm2 = [NSFileManager defaultManager];
     74         
     75         NSString *fileName1 = @"bowen.txt";
     76         NSString *filePath1 = [FILEPATH stringByAppendingPathComponent:fileName1];
     77 
     78         NSData *fileData1 = [fm2 contentsAtPath:filePath1];
     79         NSString *fileContents = [[NSString alloc] initWithData:fileData1 encoding:NSUTF8StringEncoding];
     80         NSLog(@"%@",fileContents);
     81         
     82         
     83         // 移动文件
     84         NSFileManager *fm3 = [NSFileManager defaultManager];
     85         
     86         NSString *oldName = @"bowen.txt";
     87         NSString *oldPath = [FILEPATH stringByAppendingPathComponent:oldName];
     88         NSString *newName = @"bowen/newBowen.txt";
     89         NSString *newPath = [FILEPATH stringByAppendingPathComponent:newName];
     90         
     91         BOOL flag2 = [fm3 moveItemAtPath:oldPath toPath:newPath error:nil];
     92       
     93         if (flag2) {
     94             NSLog(@"移动成功");
     95         }
     96         else
     97             NSLog(@"移动失败");
     98 
     99         
    100         
    101         //删除文件
    102         NSFileManager *fm5 = [NSFileManager defaultManager];
    103         
    104         NSString *fileName2 = @"bowen.txt";
    105         NSString *filePath2 = [FILEPATH stringByAppendingPathComponent:fileName2];
    106         
    107         BOOL flag4 = [fm5 removeItemAtPath:filePath2 error:nil];
    108         if (flag4) {
    109             NSLog(@"文件删除成功");
    110         }else
    111             NSLog(@"文件删除失败");
    112         
    113         
    114         //拷贝文件
    115         NSFileManager *fm4 = [NSFileManager defaultManager];
    116         
    117         NSString *fromName = @"bowen/newBowen.txt";
    118         NSString *fromPath = [FILEPATH stringByAppendingPathComponent:fromName];
    119         NSString *atName = @"bowen.txt";
    120         NSString *atPath =[FILEPATH stringByAppendingPathComponent:atName];
    121         
    122         BOOL flag3 = [fm4 copyItemAtPath:fromPath toPath:atPath error:nil];
    123         
    124         if (flag3) {
    125             NSLog(@"文件拷贝成功");
    126         }else
    127             NSLog(@"文件拷贝失败");
    128 
    129         
    130         //杂项操作
    131         NSFileManager *fm6 = [NSFileManager defaultManager];
    132         NSString *fileName3 = @"bowen.txt";
    133         NSString *filePath3 = [FILEPATH stringByAppendingPathComponent:fileName3];
    134         
    135         BOOL flag5 = [fm6 fileExistsAtPath:filePath3];
    136         
    137         if (flag5) {
    138             NSDictionary *infoDic = [fm6 attributesOfItemAtPath:filePath3 error:nil];
    139             NSLog(@"%@",infoDic);
    140             NSString *size = [infoDic objectForKey:NSFileSize];
    141             NSLog(@"文件大小:%@",size);
    142         }
    143         else
    144             NSLog(@"文件不存在");
    145         
    146         //文件遍历(浅遍历,深遍历)
    147         
    148         NSFileManager *fm7 = [NSFileManager defaultManager];
    149         
    150         NSString *directoryName2 = @"bowen";
    151         NSString *directoryPath2 = [FILEPATH stringByAppendingPathComponent:directoryName2];
    152         //浅遍历
    153         NSArray *fileArr = [fm7 contentsOfDirectoryAtPath:directoryPath2 error:nil];
    154         NSLog(@"%@",fileArr);
    155         //深遍历
    156         NSArray *allFileArr = [fm7 subpathsOfDirectoryAtPath:directoryPath2 error:nil];
    157         NSLog(@"%@",allFileArr);
    158         
    159         
    160         
    161         
    162         //-----------NSFileHandle 文件句柄类(操作文件内容)------------//
    163         //文件读取
    164         NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:FILEPATH1];
    165         
    166         
    167         NSData *fileData2 = [fh readDataOfLength:4];
    168         NSString *dataStr = [[NSString alloc] initWithData:fileData2 encoding:NSUTF8StringEncoding];
    169         NSLog(@"%@",dataStr);
    170         
    171         
    172         NSData *fileData3 = [fh readDataOfLength:4];
    173         NSString *dataStr1 = [[NSString alloc] initWithData:fileData3 encoding:NSUTF8StringEncoding];
    174         NSLog(@"%@",dataStr1);
    175         
    176         [fh seekToFileOffset:0];//移动光标位置
    177         
    178         NSData *fileData4 = [fh readDataToEndOfFile];
    179         NSString *dataStr2 = [[NSString alloc] initWithData:fileData4 encoding:NSUTF8StringEncoding];
    180         NSLog(@"%@",dataStr2);
    181         
    182         //文件写入
    183         NSFileHandle *fh1 =[NSFileHandle fileHandleForWritingAtPath:FILEPATH1];
    184         
    185         NSString *contents1 = @"Hello Horld";
    186         NSData *contents1Data =[contents1 dataUsingEncoding:NSUTF8StringEncoding];
    187         
    188         //[fh1 truncateFileAtOffset:0];//只能在写入的时候用-移动光标位置
    189         [fh1 writeData:contents1Data];
    190         
    191     }
    192     return 0;
    193     
    194 }
  • 相关阅读:
    Python数值计算:一 使用Pylab绘图(2)
    Python数值计算:一 使用Pylab绘图(1)
    Gromacs处理amino acid residues小结
    实用正则表达式匹配和替换
    将Word转为带书签的PDF
    QT在windows下实现截屏操作并保存为png图片
    VMware虚拟机无法识别U盘解决方案
    C/C++/Qt 统计运行时间
    ffmpeg 中 swscale 的用法
    用qt代码怎样编写图片保存格式[qt4.6]
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/5053809.html
Copyright © 2011-2022 走看看