En java, c'était fisfos comme ci-dessous ...
package fileconvert;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Convert {
    public static void main(String[] args) throws IOException{
        //Lire le fichier
        FileInputStream fis=new FileInputStream("assets/sample.txt"); 
        InputStreamReader isr=new InputStreamReader(fis,"sjis");
        BufferedReader br=new BufferedReader(isr);
        //Ecrire un fichier
        FileOutputStream fos=new FileOutputStream("assets/sample2.txt");        
        OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");
        BufferedWriter bw=new BufferedWriter(osw);
        String line;
        while((line=br.readLine())!=null) {
            bw.append(line);
            bw.newLine();
        }
        br.close();
        bw.flush();
        bw.close();
        System.out.println("done!");
        /*
        while(true) {
            String line=br.readLine();
            if(line == null) {
                break;
            }
            System.out.println(line);
        }
        */
    }
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WeightApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var path=@"./log.txt";
            while (true)
            {
                Console.WriteLine("Veuillez saisir une opération Veuillez saisir une opération 1...Entrez votre poids, 2...Voir la liste, 3...Fin>");
                var select = Console.ReadLine();
                switch (select)
                {
                    case "1":
                        Console.Write("Veuillez entrer votre poids>");
                        var weight = double.Parse(Console.ReadLine());
                        using (var writer = new StreamWriter(path, true))
                        {
                            writer.WriteLine($"{DateTime.Now.ToString()} {weight}kg");
                        }
                        break;
                    case "2":
                        var file = new FileInfo(path);
                        //Y a-t-il ou pas
                        if (file.Exists)
                        {
                            using (var reader = new StreamReader(path))
                            {
                                string line;
                                while ((line = reader.ReadLine()) != null)
                                {
                                    Console.WriteLine(line);
                                }
                            }
                        }
                        else
                        {
                            Console.WriteLine("Il n'y a pas encore de données.");
                        }
                        break;
                    default:
                        Console.WriteLine("Quittez l'application.");
                        return;
                }
            }
        }
    }
}
C'est la reconnaissance. Je ne suis pas fier, mais seuls les fisfos peuvent comprendre le mécanisme et le mémoriser.
C'est moi-même un mystère. ..