gpt4 book ai didi

ios - 文件循环 : read file into NSString, 那就是 id 是文件名(没有.txt)

转载 作者:行者123 更新时间:2023-11-29 02:35:59 25 4
gpt4 key购买 nike

我有一个循环,它获取目录中的所有文件。现在我想读取每个文件,每个文件到一个 var 中,那个标识符是没有结尾的文件名。

例如:

文件名是text.txt现在将内容读入 NSString *"text"。

这是我的代码示例:有人可以帮忙吗?

// create loop to read all files:
NSFileManager* fileManager = [[NSFileManager alloc] init];
fileManager = [[NSFileManager alloc] init];

NSDirectoryEnumerator* en = [fileManager enumeratorAtPath:directoryTMP];

NSString* file;
while (file = [en nextObject])
{
NSLog(@"File To Read : %@",file);

if([file isEqualToString:@"do_not_read_this.txt"])
{
NSLog(@"Skip this file for reading");
}
else
{
// read file here:
NSString *fileNameToRead = [NSString stringWithFormat:@"%@/%@.txt",directoryTMPeJL,file];

NSString *fileNameWithoutEnd = [file stringByReplacingOccurrencesOfString:@".txt" withString: @""];

// Read data from Dir
NSString *<fileNameWithoutEnd> = [[NSString alloc] initWithContentsOfFile:fileNameToRead
usedEncoding:nil
error:nil];
}
}

最佳答案

你不能在运行时创建命名变量,但你可以将文件读入 NSMutableDictionary,其中键是文件名(不带扩展名),值(对象)是文件数据:

// create loop to read all files:
NSMutableDictionary *files = [NSMutableDictionary new];
NSFileManager* fileManager = [[NSFileManager alloc] init];
fileManager = [[NSFileManager alloc] init];

NSDirectoryEnumerator* en = [fileManager enumeratorAtPath:directoryTMP];

NSString* file;
while (file = [en nextObject])
{
NSLog(@"File To Read : %@",file);

if([file isEqualToString:@"do_not_read_this.txt"])
{
NSLog(@"Skip this file for reading");
}
else
{
// read file here:
NSString *fileNameToRead = [NSString stringWithFormat:@"%@/%@.txt",directoryTMPeJL,file];

NSString *fileNameWithoutEnd = [file stringByReplacingOccurrencesOfString:@".txt" withString: @""];

// Read data from Dir
NSError *error = nil;
NSString *data = [[NSString alloc] initWithContentsOfFile:fileNameToRead
encoding:NSUTF8StringEncoding
error:&error];
if (data) {
files[fileNameWithoutEnd] = data;
} else {
NSLog(@"Failed to read file '%@': %@", fileNameToRead, [error localizedDescription]);
}
}
}

关于ios - 文件循环 : read file into NSString, 那就是 id 是文件名(没有.txt),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26358628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com