Estaba depurando algún código hoy y noté que uno de mis objetos FileInfo
tenía su LastWriteTime
anterior a su hora CreationTime
. ¿Es esto posible/esperado?¿Cómo puede FileInfo.LastWriteTime ser anterior a FileInfo.CreationTime?
Respuesta
Estas propiedades del archivo se pueden modificar para tomar cualquier valor. Así que no hay absolutamente nada para evitar que esto suceda.
Dicho esto, la explicación más probable es que el archivo se copió de un lugar a otro. El tiempo de creación será el tiempo en que se realizó la copia. El tiempo de modificación será el momento en que se modificó por última vez el archivo fuente, es decir, antes de la copia. Entonces, cuando se copia el archivo, la hora de modificación también se copia. Para ver esto, simplemente elija un archivo en su máquina. Cree una copia de la misma (CTRL + C, CTRL + V) y observe las propiedades de la copia.
En otras palabras, no es una contradicción que el tiempo de creación sea posterior al tiempo de modificación. La hora de creación es cuando se creó este objeto de archivo . La hora de modificación es cuando se modificaron los archivos .
Por supuesto que es posible. El tiempo de creación y modificación de un archivo son solo metadatos y cualquier persona que lo desee puede cambiarlos.
Este método puede devolver un valor inexacto, porque usa funciones nativas cuyos valores pueden no actualizarse continuamente por el sistema operativo.
http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.lastwritetime.aspx
Seguro que es posible, simplemente copiar algún archivo y más allá de que en la misma carpeta, verá las fechas son diferentes:
- 1. .NET FileInfo.LastWriteTime & FileInfo.LastAccessTime son incorrectos
- 2. Conectar por árbol anterior debe ser simétrico
- 3. ¿Cómo puede ser efectivo ASLR?
- 4. ¿Cómo puede Seq [+ A] ser covariante en A?
- 5. ¿Una referencia no puede ser NULL o puede ser NULL?
- 6. ¿Puede Javascript ser Bootstrapped?
- 7. ¿Cómo puede CopyOnWriteArrayList ser seguro para subprocesos?
- 8. LL (1) no puede ser ambiguo
- 9. ¿Cómo puede NSArray ser tan lento?
- 10. ¿Cómo puede Google ser tan rápido?
- 11. ¿Puede ser inmutable ser un cerdo de la memoria?
- 12. Scala PartialFunction puede ser Monoid?
- 13. Variable sin $, ¿puede ser posible?
- 14. ¿En qué caso puede ser exento de CSRF ser peligroso?
- 15. iOS: UISplitViewController no puede ser empujado a UINavigationController
- 16. ¿Cuándo puede ser nulo Request.Url?
- 17. ¿Puede un DateTime ser nulo?
- 18. ¿Puede un objeto ser falso?
- 19. principal no puede ser nula
- 20. ¿Cómo puede la excepción atrapada ser nula (no NullReferenceException)?
- 21. Ruby on Rails nula no puede ser obligado a BigDecimal
- 22. java.lang.ClassCastException: [B> no puede ser echado a java.lang.String
- 23. ¿Cuándo puede a == b ser falso y a.Equals (b) verdadero?
- 24. ¿Puede un std :: vector ser = 'd a otro std :: vector?
- 25. Lambda "no puede ser inferido a partir del uso"
- 26. volver a la página anterior
- 27. Imprimir todo lo que puede ser importado
- 28. Un tramo puede ser un div, pero un div no puede ser un tramo
- 29. ¿Puede un campo generic.GenericForeignKey() ser nulo?
- 30. tipo Java no puede ser resuelto