Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ee.ut.jf2014.homework1;
- import java.io.File;
- import java.io.IOException;
- import java.io.RandomAccessFile;
- import org.apache.commons.lang.ArrayUtils;
- public class reader {
- private static int BufferSize = 8192;
- private static RandomAccessFile raf;
- private static int counterFromStart1;
- public static void main(String[] args) throws IOException {
- String fileName = "test.xml";
- File file = new File(fileName);
- System.out.println(file.getAbsolutePath());
- raf = new RandomAccessFile(file, "rw");
- byte[] startBuffer = new byte[BufferSize];
- byte[] endBuffer = new byte[BufferSize];
- long bytesInFileLength = raf.length();
- System.out.println("bytesInFile " + bytesInFileLength);
- //Kui puhvrisuurus on suurem kui file, loe korraga sisse ja liigu algusesse, keera ümber
- // ja kirjuta maha
- if (bytesInFileLength <= BufferSize) {
- startBuffer = new byte[(int) bytesInFileLength];
- raf.seek(0);
- raf.read(startBuffer);
- raf.seek(0);
- ArrayUtils.reverse(startBuffer);
- raf.write(startBuffer);
- System.out.println("Lyhike fail");
- int test = 0;
- // kui faili pikkuse sisse mahub mitu puhvrit
- } else {
- bytesInFileLength = bytesInFileLength - startBuffer.length;
- for (int counterFromStart = 0; counterFromStart < bytesInFileLength; counterFromStart = counterFromStart + startBuffer.length ) {
- raf.seek(counterFromStart); //Liigu faili algusesse ja loe puhvrisse
- raf.read(startBuffer);
- raf.seek(bytesInFileLength); //Liigu faili lõppu - puhvri suurus ja loe puhvrisse ja liigu sinna
- raf.read(endBuffer);
- raf.seek(bytesInFileLength);
- ArrayUtils.reverse(startBuffer); //Keera ümber
- ArrayUtils.reverse(endBuffer);
- raf.write(startBuffer); //Kirjuta algusest loetu lõppu
- raf.seek(counterFromStart);
- raf.write(endBuffer); //Kirjuta lõpust loetu algusesse
- bytesInFileLength = bytesInFileLength - startBuffer.length; //Lahuta, et teaks kus koht nüüd lõpp on
- counterFromStart1 = counterFromStart;
- System.out.println("------------");
- }
- //test, imo ma loen kuskil valesti ja midagi ma ei keera ümber
- if (counterFromStart1 != bytesInFileLength) {
- System.out.println(counterFromStart1);
- System.out.println("viimane koht lugemata imo");
- }
- }
- raf.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement