Al escribir usted mismo una función de lectura de archivos de texto, el primer problema que encontrará es: para un nombre de archivo determinado, ¿cómo sabe que el archivo de disco que representa es de hecho un archivo de texto? Aquí hay un método muy simple: trate el archivo dado como un archivo binario sin tipo y luego lea cada byte del archivo secuencialmente. Si hay un byte en el archivo con un valor igual a 0, entonces este El archivo no es un texto. archivo; por el contrario, si ningún byte en el archivo tiene un valor de 0, se puede determinar que el archivo es un archivo de texto. Este es el principio. Veamos cómo programar en Delphi para implementarlo.
Copie el código de código de la siguiente manera:
functionIsTextFile(NombreDeArchivo:cadena):booleano;
var
Fs:TFileStream;
i,tamaño:entero;
IsTextFile:booleano;
ByteDatos:Byte;
comenzar
si el archivo existe (nombre de archivo) entonces
comenzar
Fs:=TFileStream.Create(Nombre de archivo,fmOpenRead);
IsTextFile:=verdadero;
yo:=0;
tamaño:=Fs.Tamaño;
Mientras(i<tamaño)yIsTextFiledo
comenzar
Fs.Read(ByteData,1);
IsTextFile:=ByteData<>0;
inc(yo)
fin;
Fs.Gratis;
Resultado:=EsArchivoDeTexto
fin
demás
Resultado:=falso
fin;