Life is an amazing experience to behold at times. Other times it can be a bit of a nightmare. I guess it all depends on the day, now doesn’t it? Yeah, something like that. Who knows what this life will bring about. I for one don’t know. That’s the big secret behind this life I suppose. But life doesn’t have to be mysterious. Trying to figure out how this life work sat times- can be a nightmare. However all is not lost if you can have hope in something that will make life that much better. If we constantly allow our own thoughts and feelings to fight against us, we will never be better than we currently are. It’s easier said than done naturally. I am my own worst enemy, my worst critic. That’s simply how this life treats me at times. Not much else to comment about that. Am I playing the victim or simply stating the facts? Who can say for sure? I personally feel I’m just telling it like it is, nothing more. Sometimes I can’t determine my own thoughts from that of psychosis . Parts o...
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.
- You want to be able to store a copy of that file somewhere on your file system.
- You either want to keep the original or delete the original.
- 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:
- We make sure at least one filenamne is passed in and if it exists we continue.
- We create a home for the archived file, in this example we call it archive.
- We create a date and format it.
- We set a source and a target and output that we are copying the source to the target.
- Using
Files.copywe do the actual backup. - 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
Post a Comment