La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TALLER DE CERTIFICACIÓN INTERNACIONAL

Presentaciones similares


Presentación del tema: "TALLER DE CERTIFICACIÓN INTERNACIONAL"— Transcripción de la presentación:

1 TALLER DE CERTIFICACIÓN INTERNACIONAL
TEMA: SISTEMA DE ARCHIVOS

2 NAVEGANDO POR EL SISTEMA DE ARCHIVOS
LEYENDO Y ESCRIBIENDO ARCHIVOS COMPRESIÓN DE FLUJO ALMACENAMIENTO AISLADO

3 SYSTEM.IO Es el espacio de nombre con el cual podemos acceder a archivos, directorios y unidades de almacenamiento, trabajar con la lectura y escritura y hasta utilizar un almacenamiento aislado.

4 CLASES DEL System.IO FileSystemInfo clase base de todas las clases informadoras del sistema de archivos. FileInfo provee funcionalidades para manipular archivos. DirectoryInfo provee funcionalidades para manipular directorios. DriveInfo provee funcionalidades para obtener información acerca de una unidad Path sirve para manipular paths y debería usarse en lugar de intentar manipular un string manualmente. FileSystemWatcher se utiliza para monitorizar cambios en un directorio.

5 System.IO.FileInfo Obtener información de un archivo
Esta clase nos permite crear objetos con funciones para crear, copiar, eliminar, mover y abrir archivos, y adicionalmente contribuye a la creación de objetos FileStream, como observación se puede comentar que al momento de la creación de un nuevo archivo este tiene todos los permisos otorgados para todos los usuarios, lo cual podría ser perjudicial si en caso queremos manejar esos archivos como privados.

6 System.IO.FileInfo Copiar un archivo

7 System.IO.FileInfo Algunos atributos Directory
NOMBRE DESCRIPCION Directory Obtiene una instancia del directorio principal. DirectoryName Obtiene una cadena que representa la ruta de acceso completa del directorio. IsReadOnly Obtiene o establece un valor que determina si el archivo actual es de sólo lectura. Length Obtiene el tamaño, en bytes, del archivo actual.

8 System.IO.DirectoryInfo
Enumerar archivos de un directorio permite crear objetos para trabajar específicamente con los directorios u subdirectorios o carpetas y subcarpetas, proveendonos de métodos como crear, mover, eliminar, enumerar, cambiar el nombre. Como observación se puede comentar que al momento de la creación de un nuevo directorio este tiene todos los permisos otorgados para todos los usuarios, lo cual podría ser perjudicial si en caso queremos manejar esos directorios como privados:

9 System.IO.DriveInfo Enumerar Drivers
Proporciona métodos y propiedades para consultar información a las unidades de nuestra computadora, como ver su disponibilidad, que tipo son, capacidad, espacio libre, etc.

10 System.IO.Path Cambiar la extensión de un archivo

11 FileSystemWatcher monitorear cambios en el directorio
Es una clase especial, la podemos utilizar para monitorear cambios realizados hacia los archivos y subdirectorios de un directorio en particular, ya que escucha las notificaciones realizadas en el sistema de archivos y lanzando eventos, adicionalmente podemos filtrar la inspeccion. Tiene la capacidad de inspeccionar localmente, en red o en algún equipo remoto.

12 LEYENDO Y ESCRIBIENDO ARCHIVOS
SISTEMA DE ARCHIVOS NAVEGANDO POR EL SISTEMA DE ARCHIVOS LEYENDO Y ESCRIBIENDO ARCHIVOS COMPRESIÓN DE FLUJO ALMACENAMIENTO AISLADO

13 Streams Provee la funcionalidad básica para manipular flujos de datos de forma sequencial y aleatoria. Es la clase abstracta de todos los flujos de datos (streams). Un stream es una abstracción de una secuencia de bytes, como un archivo, una entrada/salida a un dispositivo o un socket TCP/IP

14 Clases de Streams FileStream: Provee la funcionalidad para abrir archivos tanto en lectura como en escritura MemoryStream provee la funcionalidad para crear flujos en memoria, como un archivo que aún no se guarda en disco CryptoStream Define una secuencia que vincula los flujos de datos a las transformaciones criptográficas. Es un stream donde se escribe el resultado de la encriptación de otro

15 Clases de Streams NetworkStream: proporciona métodos para enviar y recibir datos a través de sockets de Stream en modo de bloqueo. GZipStream Proporciona los métodos y propiedades que permiten comprimir y descomprimir archivos sin perdidas

16 Clases de Streams Clase File: brinda la funcionalidad básica para abrir archivos streams de lectura y escritura. Clase Directory: interface para manipular y crear directorios en los archivos del sistema. Clases StreamReader y StreamWriter: proveen las funcionalidades básicas para leer y escribir información de una clase derivada de un stream. Estas clases se asumen como de un nivel más alto que FileStream.

17 MANEJANDO ARCHIVOS Y DIRECTORIOS
static void Main(string[] args) { string ruta Console.WriteLine("El archivo existe?: {0}", File.Exists(ruta)); Console.WriteLine("Fecha de creación: {0}", File.GetCreationTime(ruta)); Console.WriteLine("Fecha última de consulta: {0}", File.GetLastAccessTime(ruta)); Console.WriteLine("Fecha última modificación: {0}", File.GetLastWriteTime(ruta)); ruta Console.WriteLine("El directorio existe?: {0}", Directory.Exists(ruta)); Console.WriteLine("Archivos de la carpeta Documents:\n"); string[] archivos = Directory.GetFiles(ruta); foreach(string name in archivos) Console.WriteLine("- {0}",name); Console.WriteLine("\n\nDirectorios dentro de la carpeta Documents:\n"); string[] directorios = Directory.GetDirectories(ruta); foreach(string name in directorios) Console.WriteLine("- {0}", name); Console.ReadKey(); }

18

19 ABRIR, LEER Y ESCRIBIR EN ARCHIVOS
System.IO.FileAccess Read Write ReadWrite System.IO.FileMode Al momento de acceder a un archivo necesitamos asignar el nivel de seguridad y derechos que puede tener un usuario, esto lo podemos realizar con la enumeracion System.IO.FileAccess, asi mismo también tenemos otra enumeración para especificar en que se abre un archivo creado, y esto se puede realizar con System.IO.FileMode Append Create CreateNew OpenOrCreate Truncate

20 ABRIR, LEER Y ESCRIBIR EN ARCHIVOS
class Program { static void Main(string[] args) string ruta FileStream archivo1 = File.OpenRead(ruta); string cadenaTexto = "Hola latinoamerica!!!"; byte[] bytes = Encoding.ASCII.GetBytes(cadenaTexto); int no_bytes = bytes.Length; archivo1.Write(bytes, 0, no_bytes); }

21 ABRIR, LEER Y ESCRIBIR EN ARCHIVOS
class Program { static void Main(string[] args) string ruta FileStream archivo1 = File.OpenWrite(ruta); string cadenaTexto = "Hola latinoamerica!!!"; byte[] bytes = Encoding.ASCII.GetBytes(cadenaTexto); int no_bytes = bytes.Length; archivo1.Write(bytes, 0, no_bytes); }

22 ABRIR, LEER Y ESCRIBIR EN ARCHIVOS
static void Main(string[] args) { string ruta FileStream archivo1; archivo1 = File.Open(ruta,FileMode.OpenOrCreate,FileAccess.Write); string cadenaTexto = "Hola latinoamerica!!!"; byte[] bytes = Encoding.ASCII.GetBytes(cadenaTexto); int no_bytes = bytes.Length; archivo1.Write(bytes, 0, no_bytes); }

23 ABRIR, LEER Y ESCRIBIR EN ARCHIVOS
System.IO.FileStream static void Main(string[] args) { string ruta FileStream archivo1; archivo1 = File.Open(ruta,FileMode.OpenOrCreate,FileAccess.Write); string cadenaTexto = "Hola latinoamerica!!!"; byte[] bytes = Encoding.ASCII.GetBytes(cadenaTexto); int no_bytes = bytes.Length; archivo1.Write(bytes, 0, no_bytes); }

24 SISTEMA DE ARCHIVOS COMPRESIÓN DE FLUJO
NAVEGANDO POR EL SISTEMA DE ARCHIVOS LEYENDO Y ESCRIBIENDO ARCHIVOS COMPRESIÓN DE FLUJO ALMACENAMIENTO AISLADO

25 STREAM DE COMPRESIÓN .Net dispone de dos algoritmos de compresión, Gzip y Deflate, ambos libres de patentes y estándares de la industria. Ambos están limitados a un máximo de 4GB de datos sin compresión.

26 STREAM DE COMPRESIÓN La clase GzipStream permite comprimir datos a través de otro Stream usando el método de compresión GZIP. La clase DeflateStream permite comprimir datos a través de otro Stream usando el método de compresión DEFLATE. La diferencia entre estos dos es que Gzip almacena más información de los datos comprimidos para poder usarse con herramientas como gzip. Deflate tiene menos información y por ello es más efectivo.

27 PASOS PARA COMPRIMIR Paso1 Abrir el archivo a comprimir y crear el archivo donde lo vamos a guardar. Paso2 Creamos el Compression Stream indicando cual será el archivo destino y cual es el modo (Compress o Decompress). Paso3 Por último pasamos un byte a la vez desde el archivo fuente al compression stream.

28

29 ALMACENAMIENTO AISLADO
SISTEMA DE ARCHIVOS NAVEGANDO POR EL SISTEMA DE ARCHIVOS LEYENDO Y ESCRIBIENDO ARCHIVOS COMPRESIÓN DE FLUJO ALMACENAMIENTO AISLADO

30 ALMACENAMIENTO AISLADO
En nuestros días se ha proliferado gran cantidad de malware (virus, spyware, adware, gusanos, troyanos, bots y otros). Una de las causas de esta proliferación es la falta de seguridad en las aplicaciones que desarrollamos, prácticamente invitamos a los intrusos a usar nuestra aplicaciones como entrada a las computadoras. Cuando una aplicación tiene que guardar archivos o datos temporales, se presenta el problema de decidir donde guardarlo, ya que depende de donde se guarde nuestra aplicación dependerá de los privilegios del usuario que lo ejecute.

31 ALMACENAMIENTO AISLADO
System.IO.IsolatedStorage IsolatedStorageFile IsolatedStorageFileStream IsolatedStorageFile: Esta clase nos provee de la funcionalidad necesaria para crear archivos y carpetas en las cuales nuestra aplicación pueda crear y accesar archivos en un almacenamiento seguro, aislado e independiente de los privilegios del usuario que ejecuta la aplicación. Tenemos dos tipos de almacenamiento: Assembly/Machine: Permite crear un espacio de almacenamiento para la aplicación, independiente del usuario. Assembly/User: Permite crear un espacio de almacenamiento independiente para el usuario.

32 TIPOS DE ALMACENAMIENTO AISLADO
USUARIO 1 Dominio A Ensamblado X Ensamblado X Dominio B Aislamiento por usuario y ensamblado ALMACEN 1 USUARIO 1 Dominio A Ensamblado X Ensamblado X Dominio B Aislamiento por usuario, ensamblado y dominio ALMACEN 1 ALMACEN 2

33 AISLAMIENTO POR USUARIO Y ENSAMBLADO
Recupera un almacén aislado por usuario y ensamblado. C# VB También se usa el método abreviado GetUserStoreForAssembly(), pero no para abrir almacenes móviles. Cuando el ensamblado que utiliza el almacén de datos deba estar accesible desde el dominio de cualquier aplicación, el aislamiento por usuario y ensamblado es adecuado. Normalmente, en esta situación, el almacenamiento aislado se usa para guardar datos que afectan a varias aplicaciones y no están unidos a ninguna en concreto, como el nombre del usuario o la información de licencia. Para tener acceso a almacenamiento aislado por usuario y ensamblado, el código debe ser de confianza para que transfiera información entre las aplicaciones. Por lo general, el aislamiento por usuario y ensamblado se permite en intranets, pero no en Internet. Si se llama al método estático GetStore de IsolatedStorageFile y se pasa un IsolatedStorageScopede usuario y ensamblado, se obtiene almacenamiento con este tipo de aislamiento. C# VB

34 AISLAMIENTO POR USUARIO, DOMINIO Y ENSAMBLADO
Recupera un almacén aislado por usuario, dominio y ensamblado C# VB Se usa GetUserStoreForDomain() como método abreviado, pero no para abrir almacenes móviles. Si una aplicación usa un ensamblado de terceros que requiere un almacén de datos privado, el almacenamiento aislado se puede usar para guardar los datos privados. El aislamiento por usuario, dominio y ensamblado garantiza que sólo el código de un determinado ensamblado pueda tener acceso a los datos, sólo cuando el ensamblado esté siendo utilizado por la aplicación que se estaba ejecutando en el momento en que el ensamblado creó el almacén, y sólo cuando quien ejecuta la aplicación es el usuario para el que se creó el almacén. El aislamiento por usuario, dominio y ensamblado impide que un ensamblado de terceros filtre datos a otras aplicaciones. Este tipo de aislamiento se debe usar como predeterminado si se desea usar almacenamiento aislado pero no se está seguro de qué tipo de aislamiento usar. Si se llama al método estático GetStore de IsolatedStorageFile y se pasa un usuario, dominio y ensamblado, IsolatedStorageScope devuelve un almacenamiento con este tipo de aislamiento. C# VB

35 ¿QUÉ SE PUEDE REALIZAR CON EL ALMACENAMIENTO AISLADO?
Obtener almacenes Enumerar almacenes Eliminar almacenes Prever condiciones de espacio insuficiente Crear archivos y directorios Buscar archivos y directorios existentes Leer y escribir archivos Eliminar archivos y directorios Las clases de almacenamiento aislado permiten crear, enumerar y eliminar almacenamiento aislado. Los métodos para realizar estas tareas están disponibles mediante el objeto IsolatedStorageFile. Algunas operaciones requieren disponer de IsolatedStorageFilePermission que representa el derecho a administrar el almacenamiento aislado. También podría ser necesario disponer de derechos de sistema operativo para tener acceso a un archivo o directorio. En Microsoft Windows NT, Microsoft Windows 2000, Windows XP y Windows Vista, la configuración de la lista de control de acceso (ACL) del archivo impide el acceso al almacenamiento aislado. La herramienta de almacenamiento aislado, Storeadm.exe, se puede usar también para la administración sencilla de almacenes, como la enumeración o eliminación de todos los almacenes del usuario actual.


Descargar ppt "TALLER DE CERTIFICACIÓN INTERNACIONAL"

Presentaciones similares


Anuncios Google