Informatika gyűjtemény

Egy szinttel feljebb 8. óra - Fájlkezelés fun

2004050607080910

NézetNyomtat

8. óra

Első sor kiolvasása egy fájlból

using System;
using System.IO; //a fájlkezelő műveletek névtere KELL

namespace Mozi1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s; //ebbe olvassunk majd bele egy sort 
            StreamReader sr;
            Console.WriteLine("Ez a program a fájl első sorát fogja kiírni:");
            sr = new StreamReader("c:\\gabor\\szakkor\\superCariboo.txt");
            s = sr.ReadLine();
            Console.WriteLine(s);           
            sr.Close(); //a fájl bezárása innentől nem lehet olvasni
            Console.ReadKey(true);
        }
    }
}

Első két sor kiolvasása egy fájlból

using System;
using System.IO; //a fájlkezelő műveletek névtere KELL

namespace Mozi1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s; //ebbe olvassunk majd bele egy sort 
            StreamReader sr;
            Console.WriteLine("Ez a program a fájl első két sorát fogja kiírni:");
            sr = new StreamReader("c:\\gabor\\szakkor\\superCariboo.txt");

            s = sr.ReadLine();
            Console.WriteLine(s);
            s = sr.ReadLine();
            Console.WriteLine(s);           
            
            sr.Close(); //a fájl bezárása innentől nem lehet olvasni
            Console.ReadKey(true);
        }
    }
}

Az összes sor kiolvasása egy fájlból

using System;
using System.IO; //a fájlkezelő műveletek névtere KELL

namespace Mozi1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s; //ebbe olvassunk majd bele egy sort 
            StreamReader sr;
            Console.WriteLine("Ez a program a fájl első két sorát fogja kiírni:");
            sr = new StreamReader("c:\\gabor\\szakkor\\superCariboo.txt");

            while (sr.EndOfStream == false) {
                s = sr.ReadLine();
                Console.WriteLine(s);
            }
            
            sr.Close(); //a fájl bezárása innentől nem lehet olvasni
            Console.ReadKey(true);
        }
    }
}

Animáció lejátszása

Szép animációhoz 17 soronként törölni kell a képernyőt és várni egy kicsit.
using System;
using System.IO; //a fájlkezelő műveletek névtere KELL
using System.Threading;

namespace Mozi1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s; //ebbe olvassunk majd bele egy sort 
            StreamReader sr;
            Console.WriteLine("Ez a program a fájl első két sorát fogja kiírni:");
            sr = new StreamReader("c:\\gabor\\szakkor\\superCariboo.txt");

            while (sr.EndOfStream == false) {
                Console.Clear();
                
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);
                s = sr.ReadLine();
                Console.WriteLine(s);

                Thread.Sleep(60);
            }
            
            sr.Close(); //a fájl bezárása innentől nem lehet olvasni
            Console.ReadKey(true);
        }
    }
}
Mindez persze korrektebb egy for-ciklussal...
using System;
using System.IO; //a fájlkezelő műveletek névtere KELL
using System.Threading;

namespace Mozi1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s; //ebbe olvassunk majd bele egy sort 
            int i;
            StreamReader sr;
            Console.WriteLine("Ez a program a fájl első két sorát fogja kiírni:");
            sr = new StreamReader("c:\\gabor\\szakkor\\superCariboo.txt");

            while (sr.EndOfStream == false) {
                Console.Clear();
                
                for (= 0; i < 17; i++) {
                    s = sr.ReadLine();
                    Console.WriteLine(s);
                }

                Thread.Sleep(60);
            }
            
            sr.Close(); //a fájl bezárása innentől nem lehet olvasni
            Console.ReadKey(true);
        }
    }
}

Kiegészítés az órai feladathoz - többsebességes lejátszás

Első kísérlet:
using System;
using System.IO; //a fájlkezelő műveletek névtere KELL
using System.Threading;

namespace Mozi1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s; //ebbe olvassunk majd bele egy sort 
            int i;
            int sleep;
            char ch;
            StreamReader sr;
            
            sleep = 60;
            
            Console.WriteLine("Ez a program a fájl első két sorát fogja kiírni:");
            sr = new StreamReader("c:\\gabor\\szakkor\\superCariboo.txt");

            while (sr.EndOfStream == false) {
                Console.Clear();
                
                for (= 0; i < 17; i++) {
                    s = sr.ReadLine();
                    Console.WriteLine(s);
                }
            
                ch = Console.ReadKey(true).KeyChar;
                if (ch == 'a' || ch == 'A') sleep = sleep + 10;
                if (ch == 'z' || ch == 'Z') sleep = sleep - 10;
                Thread.Sleep(sleep);
            }
            
            sr.Close(); //a fájl bezárása innentől nem lehet olvasni
            Console.ReadKey(true);
        }
    }
}
Második kísérlet:
using System;
using System.IO; //a fájlkezelő műveletek névtere KELL
using System.Threading;

namespace Mozi1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s; //ebbe olvassunk majd bele egy sort 
            int i;
            int sleep;
            char ch;
            StreamReader sr;
            
            sleep = 60;
            
            Console.WriteLine("Ez a program a fájl első két sorát fogja kiírni:");
            sr = new StreamReader("c:\\gabor\\szakkor\\superCariboo.txt");

            while (sr.EndOfStream == false) {
                Console.Clear();
                
                for (= 0; i < 17; i++) {
                    s = sr.ReadLine();
                    Console.WriteLine(s);
                }
            
                if (Console.KeyAvailable == true) {
                    ch = Console.ReadKey(true).KeyChar;
                    if (ch == 'a' || ch == 'A') sleep = sleep + 10;
                    if (ch == 'z' || ch == 'Z') sleep = sleep - 10;
                }
                
                Thread.Sleep(sleep);
            }
            
            sr.Close(); //a fájl bezárása innentől nem lehet olvasni
            Console.ReadKey(true);
        }
    }
}