Skip to main content

How To Make Program to Corrupt File (Java)

Sometime we intentionally want our file to be corrupted e.g. to test software reliability. So, I made a program in Java that intentionally corrupt file. Please be careful to use this program as this program will make your file corrupt and cannot be reverted. Please backup your file before making it corrupt.

OK, the logic is very simple. For each byte in the file, I simply put any random character (ASCII character is from 0 to 255). Here is the complete Java program:

import java.io.RandomAccessFile;
import java.util.Random;

/**
 *
 * @author arwankhoiruddin
 */
public class CorruptFile {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        String FILEPATH = args[0];

        System.out.println("File to corrupt: " + FILEPATH);
        System.out.println("File corruption process started");
     
        try {
            RandomAccessFile file = new RandomAccessFile(FILEPATH, "rw");
            Random r = new Random();
            for (int i=0; i                
                String dt = "" + (char) r.nextInt(255);
                file.seek(i);
                file.write(dt.getBytes());
            }
            file.close();
         
            System.out.println("File " + FILEPATH + " has now been corrupted. Enjoy!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}


Comments

Popular posts from this blog

Akte, paspor, dan visa untuk anak Indonesia yang lahir di Malaysia

Alhamdulillah, akhirnya urusan administrasi kenegaraan-nya Marwa sudah hampir selesai. Kemarin sore, di paspor marwa sudah ada visa pelancong selama 30 hari, tinggal nunggu proses di Putrajaya selama 7 hari untuk mendapatkan Multiple Entry-nya. Selepas itu, selesai.... Di dalam tulisan ini, saya pengen sedikit cerita pengalaman saya mengurus administrasi untuk anak Indonesia yang lahir di Malaysia (saya tidak tahu apakah untuk di negara lain prosedurnya juga sama). #1. Administrasi di klinik terdekat (sebelum melahirkan) Sebelum istri melahirkan, istri disarankan untuk mendaftar dan memeriksakan kandungannya secara rutin di klinik terdekat (meskipun hanya klinik, tapi fasilitas pemeriksaan dan labnya cukup lengkap dan canggih). Pada fase ini, istri akan diberi buku pemeriksaan. Buku ini penting untuk mengetahui kondisi si ibu, dan perkembangan janin. Buku ini akan diisi oleh dokter atau perawat yang memeriksa kandungan. #2. Administrasi setelah melahirkan Di klinik biasanya tid...

Find JIRA issues mentioned in Confluence Page

I have been walking through a lot of pages in internet but have not found any answer except one. However, the answer is not complete, so I will share my experience here. This feature is very useful, especially to summarize the issues found during certain tests, where the tests are reported in a confluence page. I found that there are so many questions about this, but Atlassian seems does not want to bother with this request. I found one way to do this by the following tricks Take one JIRA issue that related to the target confluence page (in this case, say it is GET-895) Find the global ID of a JIRA issue: http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink It will show the JSON like this: [{"id":28293,"self":"http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink/28293","globalId":"appId=662e1ccf-94da-3121-96ae-053d90587b29&pageId=105485659","application":{...

Android studio in ubuntu - problem: 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rather than JRE.

I love coding, especially Java. Because Android apps is written in Java, I would love to make one as well. Unfortunately, when I tried to install Android Studio on my Ubuntu yesterday, I got this error message: 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rather than JRE. When I google on this error, there are so many websites and forums discuss about this error as well as the solutions. However, in linux (or ubuntu in my case), sometime we have different environment so that the solution will not always work (sometimes we have to do another thing before or after that solution). And this also happen in this case. Here are what I did then: 1. Know what exactly the problem is: the problem is that the JAVA_HOME in my system did not point to JDK. Instead, it points to a JRE. JRE can only be used to run java applications, not to build them. 2. Check the java path used by the system. In terminal, I typed the following: ...