Cuestión : Tamaño del archivo contra tamaño de la secuencia

¿Cómo puedo comparar el tamaño de un archivo al tamaño de una secuencia?

I que intenta determinar si un archivo se debe sobreescribir con el contenido de una secuencia o no basar en el archivo size
class= del

Respuesta : Tamaño del archivo contra tamaño de la secuencia


Depende de cómo usted escribe los datos al archivo y a su requisito.

Para las codificaciones estándar ASCII y UT8 (que cubrirán inglés y similar otros charsets), la longitud de la secuencia y la longitud del octeto del archivo emparejarán, como un carácter toma solamente octeto en archivo.

Para las codificaciones de Unicode (como carbones de leña japoneses), como usted dijo que longitud de la longitud de la secuencia y del octeto del archivo no emparejará pues un carácter tomará dos octetos.

Debajo está el código para ambas las codificaciones, usted puede utilizar según su requisito.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
Para las codificaciones estándar (ASCII, UTF8):

	   textToWrite de la secuencia = “12345”;

            trayectoria de la secuencia = @ " c:\temp\MyTest.txt ";
            FileInfo fi = nuevo FileInfo (trayectoria);

            ¡si (! fi. Existe || textToWrite.Length > fi. Longitud)
            {
                el usar (StreamWriter interruptor = fi.CreateText ())
                {
                    interruptor. Escribir (textToWrite);
                }
            }


Para la codificación de Unicode:

	    textToWrite de la secuencia = “12345”;

            bytesToWrite del octeto [] = System.Text.Encoding.Unicode.GetBytes (textToWrite);
           
            trayectoria de la secuencia = @ " c:\temp\MyTest.bytes ";
            FileInfo fi = nuevo FileInfo (trayectoria);

            ¡si (! fi. Existe || bytesToWrite.Length > fi. Longitud)
            {
                el usar (FileStream interruptor = fi. Crear ())
                {
                    interruptores. Escriben (bytesToWrite, 0, bytesToWrite.Length);
                }
            }
Otras soluciones  
 
programming4us programming4us