Fråga : Spara storleksanpassar vs stränger storleksanpassar

Hur kan jag jämföra storleksanpassa av en spara till storleksanpassa av en stränga? den pröva förmiddagen för

I att bestämma huruvida en spara bör överskrivas med tillfredsställer av en stränga eller inte baserat på spara size
" klar "

Svar : Spara storleksanpassar vs stränger storleksanpassar


Det beror på hur du skriver datan för att spara och ditt krav.

Stränga längden och spara bytelängden den ska matchen, som ett tecken tar endast byte sparar in för de standarda kodningarna ASCII och UT8 (som ska täcker engelskt och liknande andra charsets).

För Unicode kodningar (lika japanska rödingar), som dig sade stränger längd och sparar ska inte matchen för byten längden, som ett ska tecken tar två byte.

Nedanför är kodifiera för de båda kodningarna, dig kan använda som per ditt krav.
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:
För de standarda kodningarna (ASCII, UTF8):

	   stränga textToWrite = ”12345”;

            stränga banan = @ " c:\temp\MyTest.txt ";
            FileInfo fi = nya FileInfo (bana);

            om (! fi. Finns || textToWrite.Length > fi. Längd)
            {
                använda (StreamWriter strömbrytare = fi.CreateText ())
                {
                    strömbrytare. Skriv (textToWrite);
                }
            }


För den Unicode kodningen:

	    stränga textToWrite = ”12345”;

            bytesToWrite för byte [] = System.Text.Encoding.Unicode.GetBytes (textToWrite);
           
            stränga banan = @ " c:\temp\MyTest.bytes ";
            FileInfo fi = nya FileInfo (bana);

            om (! fi. Finns || bytesToWrite.Length > fi. Längd)
            {
                använda (FileStream strömbrytare = fi. Skapa ())
                {
                    strömbrytare. Skriv (bytesToWrite, 0, bytesToWrite.Length);
                }
            }
Andra lösningar  
 
programming4us programming4us