7

ドキュメント ディレクトリに newFolder という名前のフォルダを 1 つ作成しています。そのため、newFolder で作成されたフォルダに txt ファイルを作成する方法を知りたいのですが、ドキュメント ディレクトリにファイルを作成する方法ですが、自分のフォルダにファイルを作成する方法は次のとおりです。このファイルも newFolder から取得し、iPhone のメール コンポーザに渡したいと思います。

これは私のドキュメントフォルダーにフォルダーを作成することですが、今はこのフォルダー名 newFolder にファイルを作成したいと思っています。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"newFolder"];
    NSError *error = NULL;
    if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
        [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];

私はこのコードを書いていますが、私のcsvファイルはdoumentディレクトリフォルダに作成されています.このファイルを自分のフォルダに作成したいです.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *docDir = [paths objectAtIndex:0];

        NSString *filename = [docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"EmployeeBase.Csv"]];
            NSError *error = NULL;
            BOOL written = [csvString writeToFile:filename atomically:YES encoding:NSUTF8StringEncoding error:&error];
            if (!written)
                NSLog(@"write failed, error=%@", error);
4

3 に答える 3

15

これは、独自のフォルダー内のドキュメント ディレクトリに画像を保存する例です...

UIImage *imageForShare = [UIImage imageNamed:@"anyImage.jpg"];
NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"New Folder"];
// New Folder is your folder name
NSError *error = nil;
if (![[NSFileManager defaultManager] fileExistsAtPath:stringPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:stringPath withIntermediateDirectories:NO attributes:nil error:&error];

NSString *fileName = [stringPath stringByAppendingFormat:@"/image.jpg"];
NSData *data = UIImageJPEGRepresentation(imageForShare, 1.0);
[data writeToFile:fileName atomically:YES];

Swift 4.0 バージョン

guard let image = UIImage(named: "anyImage.jpg") else {return}
guard var stringPath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first else {return}
stringPath = stringPath + "New Folder"

// New Folder is your folder name
if !FileManager.default.fileExists(atPath: stringPath) {
      do {
          try FileManager.default.createDirectory(atPath: stringPath, withIntermediateDirectories: false, attributes: nil)
      } catch let error {
          print(error.localizedDescription)
          return
      }
 }

 let fileName = stringPath + "/image.jpg"
 let url = URL(fileURLWithPath: fileName)
 if let data = UIImageJPEGRepresentation(image, 1.0) {
      do {
            try data.write(to: url)
        } catch let error {
            print(error.localizedDescription)
       }
 }
于 2012-06-07T05:57:55.620 に答える
3
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,    
    YES);
    NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
    NSString *myPath = [documentsPath stringByAppendingPathComponent:@"/MyDocuments"];

    //Create folder
    if (![[NSFileManager defaultManager] fileExistsAtPath:myPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:myPath withIntermediateDirectories:NO 
    attributes:nil error:NULL];

    NSString *newStr=[[NSString alloc] initWithFormat:@"Sample.txt"];
    NSString *filePath = [myPath stringByAppendingPathComponent:newStr]; //Add the file name
    [pngData writeToFile:filePath atomically:YES]; //Write the file
于 2014-05-27T06:05:12.383 に答える
0

次のように、txt ファイル (file.txt とします) を特定のディレクトリ (newFolder とします) に書き込むことができます。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"newFolder"];
NSString *filePath = [dataPath stringByAppendingPathComponent:@"file.txt"];

NSString *str = @"THIS IS THE CONTENT OF THE TXT FILE";

[str writeToFile:filePath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL];

それが役立つことを願っています;)

于 2012-06-07T05:31:24.990 に答える