Как прочитать файл с ног на голову

Пример ниже читает файл, снизу вверх в обратный путь. Если последняя строка файла "Hello", он будет читать 'olleh. Два метода используются для реализации упомянутых выше функций.


import java.io.*;

import java.nio.channels.*;

import java.nio.*;



public class FileReaderDownToUp {

    

    public static void main(String[] args) {

        

        try {

            

            //method 1

            File f = new File("hello.txt");

            FileReader fr = new FileReader(f);

            

            char[] c = new char[(int)f.length()];

            char[] cnew = new char[(int)f.length()];

            StringBuffer sbuf = new StringBuffer();

            fr.read(c,0,(int)f.length());

            

            int len = (int)f.length();

            

            for (int i = 0, j = len - 1; i < len ; i++, j--) {

                cnew[i= c[j];

                sbuf.append(cnew[i]);

            }

            

            System.out.println(sbuf.toString());

            fr.close();

            

            //method 2

            

            /*

            

            RandomAccessFile f = new RandomAccessFile("hello.txt","rw");

            FileChannel fc = f.getChannel();

                         

            // map file to buffer

                         

            MappedByteBuffer mbb = fc.map(FileChannel.MapMode.READ_WRITE, 

             0, f.length());

             

            int len = (int)f.length();

                   for (int i = 0, j = len - 1; i < j; i++, j--)

                   {

                        byte b = mbb.get(i);

                        mbb.put(i, mbb.get(j));

                        mbb.put(j, b);

                   }

                         

                   // finish up

                   fc.close();

             */

            

        catch (Exception e) {

            e.printStackTrace();

        }

    }

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>