Проблемы с NSFilemanager в Objective C - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь прочитать файл с помощью Objective C, используя следующий код:

NSFileManager *fileManager = [NSFileManager defaultManager];
NSString * myStr = @"/tmp/test.txt";
NSString * myStr4 = @"/tmp/HeaDumper";

if ([fileManager fileExistsAtPath:myStr4] == YES) {
    NSLog(@"%@ exists",myStr4);
    if ([fileManager isReadableFileAtPath:myStr4]) {
        NSLog(@"%@ is Readable",myStr4);
    } else {
        NSLog(@"%@ not readable",myStr4);
    }

    if ( [fileManager isExecutableFileAtPath:myStr4]) {
        NSLog(@"%@ is Executable",myStr4);
    } else {
        NSLog(@"%@ Not Executable",myStr4);
    }
} else {
    NSLog(@"%@ file not exist",myStr4);
}

if ([fileManager fileExistsAtPath:myStr] == YES) {
    NSLog(@"%@ exists",myStr);
    if ([fileManager isReadableFileAtPath:myStr]) {
        NSLog(@"%@ is Readable",myStr);
    } else {
        NSLog(@"%@ not readable",myStr);
    }

    if ( [fileManager isExecutableFileAtPath:myStr]) {
        NSLog(@"%@ is Executable",myStr);
    } else {
        NSLog(@"%@ Not Executable",myStr);
    }
} else {
    NSLog(@"%@ file not exist",myStr);
}

, и получаю следующий результат:

  • 2020-05-29 15 : 05: 12.009759 + 0100 readfile2 [7923: 967693] / tmp / HeaDumper существует
  • 2020-05-29 15: 05: 12.009855 + 0100 readfile2 [7923: 967693] / tmp / HeaDumper не читается
  • 2020-05-29 15: 05: 12.009900 + 0100 readfile2 [7923: 967693] / tmp / HeaDumper Not Executable
  • 2020-05-29 15: 05: 12.009939 + 0100 readfile2 [7923: 967693 ] /tmp/test.txt существует
  • 2020-05-29 15: 05: 12.009986 + 0100 readfile2 [7923: 967693] /tmp/test.txt не читается
  • 2020-05- 29 15: 05: 12.010022 + 0100 readfile2 [7923: 967693] /tmp/test.txt Неисполняемый

Однако:

  1. файлы существуют
  2. файлы были chmod выделены 777, чтобы избежать каких-либо проблем с правами доступа (что не имело места, но необходимо устранить все возможные сопутствующие причины).
  3. Один из них - исполняемый файл, ( HeaDumper , хранится в myStr4) so sh может быть доступен при чтении и выполнении
  4. ; другой ( test.txt , сохраненный в myStr) - текстовый файл и должен быть доступен как минимум при чтении.

Здесь проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...