visual una txt subcarpetas servidor puedo pegar pasos pasar para otro nueva nombre mover metodos manipular manejo macbook mac imac explorador entre eliminar eliminan directorios diferencia cómo crear cortar copiar compartida como carpeta cambia arrastrar archivos archivo objective-c macos file-io

objective c - una - ¿La mejor forma de copiar o mover archivos con Objective-C?



pasos para eliminar un archivo (3)

Me preguntaba, ¿existe una mejor práctica para escribir un programa OSX que copie o mueva un archivo de un lugar a otro?

  • ¿Hay algún método de NSSomething que pueda llamar?
  • ¿Tengo que trabajar con flujos de entrada / salida?
  • ¿O es la mejor manera tal vez simplemente confiar en pasar comandos al buscador?

Pregunta de bonificación: ¿Cómo puedo obtener porcentajes a la "copia 12% completa" con uno de estos métodos?

¡Gracias por tu ayuda!


NSFileManager y NSWorkspace tienen métodos para mover, copiar y eliminar archivos. Usualmente usaría NSFileManager ya que es más fácil trabajar con él:

if ( [[NSFileManager defaultManager] isReadableFileAtPath:source] ) [[NSFileManager defaultManager] copyItemAtURL:source toURL:destination error:nil];

Sin embargo, NSWorkspace puede mover fácilmente archivos a la Papelera, lo cual NSFileManager no puede hacer.

[[NSWorkspace sharedWorkspace] performFileOperation:NSWorkspaceRecycleOperation source:foldername destination:@"" files:filenamesArray tag:&tag];

Consulte la documentación para una descripción más completa de las dos clases. ( NSFileManager , NSWorkspace )


También puede usar la función FSCopyObjectAsync . Puede visualizar el progreso de copia de archivo y también puede cancelar la copia de archivo usando FSCopyObjectAsync ().
Echa un vistazo a esta post .

FSCopyObjectAsync está obsoleto en OS X v10.8

FSCopyObjectAsync es una alternativa para FSCopyObjectAsync. post hay un ejemplo de archivo de copia (3) con devolución de llamada de progreso.