Bei weitem die einfachste Strategie ist es, sich für eine bestimmte Datei auf eine Codierung zu einigen, z.B. UTF-8, und sie ausschließlich zu verwenden, sowohl beim Schreiben als auch beim Lesen. Der Versuch, herauszufinden, welche Codierung verwendet wird, ist definitiv fehleranfällig, daher ist es am besten, diese Erkennung zu vermeiden.
UPDATE
In den Kommentaren unten klären Sie, dass Sie in eine Datei schreiben möchten, die von jemand anderem mit einer unbekannten Codierung erstellt wurde.
In voller Allgemeinheit ist dies unmöglich mit 100% Zuverlässigkeit durchzuführen.
Wenn Sie Glück haben, können Sie feststellen, dass die Datei mit einem Byte Order Mark (BOM) versehen ist. In diesem Fall können Sie den BOM lesen und somit die Codierung ableiten. Es gibt keine Anforderung, dass eine Textdatei einen BOM enthalten muss und oft enthalten sie keinen.
Dennoch möchte ich Sie dringend bitten, sich mit demjenigen, der diese Dateien erstellt, auf ein Austauschformat zu einigen. Wählen Sie eine einzelne Codierung und verwenden Sie sie immer.