Ich möchte Benutzerdateien in Ordnern unter Pfadverzeichnis speichern. Wie kann man Dateien speichern und bei Bedarf wiederherstellen? DankErstellen Sie ein Verzeichnis in meiner App, um verschiedene Arten von Dateien zu speichern
0
A
Antwort
1
#pragma mark -- list all the files exists in Document Folder in our Sandbox.
// Fetch directory path of document for local application.
- (void)listAllLocalFiles{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *manager = [NSFileManager defaultManager];
// This function will return all of the files' Name as an array of NSString.
NSArray *files = [manager contentsOfDirectoryAtPath:documentsDirectory error:nil];
// Log the Path of document directory.
NSLog(@"Directory: %@", documentsDirectory);
// For each file, log the name of it.
for (NSString *file in files) {
NSLog(@"File at: %@", file);
}
}
#pragma mark -- Create a File in the Document Folder.
- (void)createFileWithName:(NSString *)fileName{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileName];
NSFileManager *manager = [NSFileManager defaultManager];
// 1st, This funcion could allow you to create a file with initial contents.
// 2nd, You could specify the attributes of values for the owner, group, and permissions.
// Here we use nil, which means we use default values for these attibutes.
// 3rd, it will return YES if NSFileManager create it successfully or it exists already.
if ([manager createFileAtPath:filePath contents:nil attributes:nil]) {
NSLog(@"Created the File Successfully.");
} else {
NSLog(@"Failed to Create the File");
}
}
#pragma mark -- Delete a File in the Document Folder.
- (void)deleteFileWithName:(NSString *)fileName{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// Have the absolute path of file named fileName by joining the document path with fileName, separated by path separator.
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileName];
NSFileManager *manager = [NSFileManager defaultManager];
// Need to check if the to be deleted file exists.
if ([manager fileExistsAtPath:filePath]) {
NSError *error = nil;
// This function also returnsYES if the item was removed successfully or if path was nil.
// Returns NO if an error occurred.
[manager removeItemAtPath:filePath error:&error];
if (error) {
NSLog(@"There is an Error: %@", error);
}
} else {
NSLog(@"File %@ doesn't exists", fileName);
}
}
#pragma mark -- Rename a File in the Document Folder.
- (void)renameFileWithName:(NSString *)srcName toName:(NSString *)dstName{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePathSrc = [documentsDirectory stringByAppendingPathComponent:srcName];
NSString *filePathDst = [documentsDirectory stringByAppendingPathComponent:dstName];
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePathSrc]) {
NSError *error = nil;
[manager moveItemAtPath:filePathSrc toPath:filePathDst error:&error];
if (error) {
NSLog(@"There is an Error: %@", error);
}
} else {
NSLog(@"File %@ doesn't exists", srcName);
}
}
#pragma mark -- Read a File in the Document Folder.
/* This function read content from the file named fileName.
*/
- (void)readFileWithName:(NSString *)fileName{
// Fetch directory path of document for local application.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// Have the absolute path of file named fileName by joining the document path with fileName, separated by path separator.
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileName];
// NSFileManager is the manager organize all the files on device.
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePath]) {
// Start to Read.
NSError *error = nil;
NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSStringEncodingConversionAllowLossy error:&error];
NSLog(@"File Content: %@", content);
if (error) {
NSLog(@"There is an Error: %@", error);
}
} else {
NSLog(@"File %@ doesn't exists", fileName);
}
}
1
Sie mögen verwalten können,
NSString *docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSString *documentsDirectoryForSaveImages = [docsDir stringByAppendingPathComponent:@"/ProfileImages"];
// this will create "ProfileImages" directory in document directory
[[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectoryForSaveImages withIntermediateDirectories:YES attributes:nil error:nil];
NSString *profilePicturePath = [documentsDirectoryForSaveImages stringByAppendingPathComponent:@"profilePicture"];
Angenommen, Sie image
haben, dass Sie in Daten dann konvertieren speichern möchten, und Sie können ihn unter Pfad schreiben wie
NSData *data = UIImageJPEGRepresentation(yourImage, 1.0);
[data writeToFile:profilePicturePath atomically:NO];
Sie verwenden können, oder rufen Sie dieses Bild wie,
self.imageViewProfile.image = [UIImage imageWithData:[NSData dataWithContentsOfFile:profilePicturePath]]; // here "imageViewProfile" is UIImageView!
Ebenso können Sie verschiedene Arten von f speichern ile durch Umwandlung in NSData
im Verzeichnis!
1
Ordner erstellen und speichern Datei:
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDirectory = [paths objectAtIndex:0];
NSString *dataPath = [docsDirectory stringByAppendingPathComponent:@"/MyDirectory"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]) {
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Creating folder
}
NSString *filePath = [dataPath stringByAppendingPathComponent:@"MyFile.txt"];
NSString *content = @"My content";
[content writeToFile:fileName
atomically:NO
encoding:NSStringEncodingConversionAllowLossy
error:nil];
Dies wird Ordnernamen "MyDirectory"
in Dokumenten-Verzeichnis erstellen und "My content"
Jetzt schreiben Sie dieses Stück Code in es mit dem Namen "MyFile.txt"
mit Inhalt Datei Holen Sie sich die Dateiliste aus Ihrem Verzeichnis,
Also "arrayMyDirectoryList"
wird eine Liste aller Dokumente sein, die Sie im Verzeichnis gespeichert haben.
Verwandte Themen
- 1. verschiedene Arten von Benutzern erstellen
- 2. Verschiedene Arten Klassen in Scala zu erstellen?
- 3. Wählen Sie Verzeichnis/Ordner, um zu speichern?
- 4. PHP-Datei verschiedene Arten von Dateien hochladen
- 5. 2 verschiedene Arten reagieren Komponente erstellen
- 6. Verwenden UIActivityViewController, um alle Arten von Dateien zu teilen
- 7. Verschiedene Arten von Programmablauf?
- 8. Speichern von PDF-Dateien in meiner iOS-App
- 9. Verschiedene Arten von URL
- 10. Erstellen Sie ein temporäres Verzeichnis in Haskell
- 11. Verschiedene Arten von Benutzern mit Schienen
- 12. Django - Unterscheiden Sie verschiedene Arten von IntegrityError
- 13. Datenbank-Design: Ein für viele verschiedene Arten
- 14. Verschiedene Arten von Iteratoren
- 15. Fehler mit Bash Script, um ein Temp-Verzeichnis zu erstellen und einige Dateien zu kopieren
- 16. Verzeichnis zum Speichern zwischengespeicherter Dateien in Rails?
- 17. Ist es in Ordnung, zwei verschiedene Arten von Code in demselben git-Repository zu speichern?
- 18. Erstellen Sie ein Verzeichnis mit Unterverzeichnissen und Dateien in Knoten
- 19. Was ist der beste Weg, um mehrere Versionen meiner Swift 2 App zu erstellen, um verschiedene Funktionen zu testen?
- 20. Verschiedene Arten von Hyperlinks in Word-Dokument
- 21. Generieren/Erstellen Mdump-Dateien für in meiner App
- 22. Erstellen Sie Automatisierung, um Arbeitsmappenpasswort von .xlsx Dateien zu entfernen
- 23. eckige verschiedene Arten von Präfixe
- 24. Android: Erstellen und Herunterladen von PDF-Dateien zu Downloads-Verzeichnis
- 25. definiert verschiedene Arten von Zahlen in C#
- 26. Wo sollte ich Änderungen in meiner iPhone-Ansicht speichern, um ein Objekt neu zu erstellen?
- 27. Verwenden Sie gulp-bower-normalize, um alle Dateien in ein Verzeichnis zu kopieren
- 28. Teilen Sie ein Bild von meiner App zu Facebook
- 29. behandeln verschiedene Arten von Benachrichtigungen in Android
- 30. Erstellen einer abstrakten Basisklasse für verschiedene Arten von Enums
4 upvotes für die Frage, die Tonnen von Antwort online haben .. schockiert ... –