Skip to main content

Backing Up A File

 Backing up a file in Java can be fairly simple and straight forward. Let's think about it for a second. You have a file.

  1. You want to be able to store a copy of that file somewhere on your file system.
  2. You either want to keep the original or delete the original.
  3. The format of the filename must be unique, so it doesn't collide with other backed up files.
There are just a few considerations to think about. Here's a solution I came up with in Java:


import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.File;
import java.util.Date;
import java.text.SimpleDateFormat;

public class Backup {

    public static void main(String[] args) {
        if (args.length == 1) {
            File file = new File(args[0]);

            if (file.exists()) {
                try {
                    File dir = new File("archive");
                    if (!dir.exists()) {
                        dir.mkdirs();
                    }

                    Date date = new Date();
                    SimpleDateFormat dt = new SimpleDateFormat("'.'yyyy-MM-dd-HH-mm-ss");
                    Path source = Paths.get(args[0]);
                    Path target = Paths.get(dir.getName(), file.getName() + dt.format(date));

                    System.out.println("Backing up file: " + source + " --> " + target);

                    Files.copy(source, target);
                    file.delete();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                System.err.println("The file you specified '" + file.getName() + "' doesn't exist.");
            }
        }
    }
}

As you can see I chose to delete the file at the end of the process. But let's take a look at what this does:

  1. We make sure at least one filenamne is passed in and if it exists we continue.
  2. We create a home for the archived file, in this example we call it archive.
  3. We create a date and format it.
  4. We set a source and a target and output that we are copying the source to the target.
  5. Using Files.copy we do the actual backup.
  6. Then we delete the file at the end of the process.

That's all there is to it. I'm sure there could be a way to refactor this so it's better somehow. I'll have to look into it.

Comments

Popular posts from this blog

Didn't Sleep

 What's the point of sleep anymore if I can't sleep? I don't think I slept any good last night. I was awake at 3 am wondering to myself, what on earth am I doing awake? Yeah, that happened. It doesn't make any sense. Fortunately, it's the weekend. So, I can catch up on sleep tonight. I don't have to be anywhere tomorrow, so it's a good opportunity to actually sleep for once. Whatever the case, I hope I'll be able to fall asleep and stay asleep. We will see what happens.

What's The Point?

 So, tell me, what is the point of believing in a spiritual supreme being? I often wonder what that is all about. I know religions say that God, as some call him, is our father. We pray by starting with our father who art in heaven, hallowed be thy name. Yet sometimes it feels like he is absent from our lives. Is it due to how we are living our lives? What exactly is the cause of that feeling? Some people believe that God, Jesus, and the Holy Ghost are one person. Others do not. It is interesting to me to see what all churches believe in. I myself do not go to church. I don't believe in organized religion. I have my bible on my phone, so it's me and my bible. That is my link to God. It makes me wonder if that's enough though. I have faith in Christ, I believe in him. Is my faith sufficient to be forgiven of my sins? I do not know. I do know that wherever I end up in the afterlife, I will have done my best to follow Christ. I believe the scriptures which lay out Christ's...

Temptation Bible vs Book of Mormon

In the Bible in 1 Corinthians 10:13 we find: There hath no temptation taken you but such as is common to man: but God is faithful, who will not suffer you to be tempted above that ye are able ; but will with the temptation also make a way to escape, that ye may be able to bear it. But what might seem as a contradiction is found in Alma 13:28 But that ye would humble yourselves before the Lord, and call on his holy name, and watch and pray continually, that ye may not be tempted above that which ye can bear , and thus be led by the Holy Spirit, becoming humble, meek, submissive, patient, full of love and all long-suffering; So, which is it? Either God tempts you to a point and stops, or you have to actively pray not to be tempted beyond that no return point. Which is it?