• 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 }
  • 相关阅读:
    现代软件工程 第一章 概论 第4题——邓琨
    现代软件工程 第一章 概论 第9题——邓琨
    现代软件工程 第一章 概论 第7题——张星星
    现代软件工程 第一章 概论 第5题——韩婧
    hdu 5821 Ball 贪心(多校)
    hdu 1074 Doing Homework 状压dp
    hdu 1074 Doing Homework 状压dp
    hdu 1069 Monkey and Banana LIS变形
    最长上升子序列的初步学习
    hdu 1024 Max Sum Plus Plus(m段最大子列和)
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/5053809.html
Copyright © 2020-2023  润新知