简体   繁体   中英

Do something upon file exist

so i created a java program that outputs to a file (classname.java) the basic template of a java program...

    /*
    Nathaly Morcillo
    Nov 19 2013
    Header comments 
    */
    public class test{
       public static void main String([] args){
       } 
    }

However what i don't understand is:

After collecting the required input, check to see if the requested file (classname.java) already exists. If it does not, the program proceeds as described above. If it does exist, the program simply adds the header comments (because you probably didn't put them in before anyhow). Hint: since you have to read from then write to the same file, try using

  Scanner scan = new Scanner(file); scan.useDelimiter("\\\\Z"); String content = scan.next(); 

method to read in and store the contents of the whole file before writing out the file plus the new header comments.

I don't understand what to do with the scan.useDelimiter("\\\\Z");

What I have is:

File outputFile = new File(outputFileName);
if (outputFile.exists()) {
} else {
    pout.println(
    System.out.println("Contents of file");
    pout.close();
}

Since this looks like homework, I'm not going to give you the answer, but I'll try to explain what's going on and give you some hints.

Scanner scan = new Scanner(file);

This creates a new Scanner object, which will allow you to read from the given file .

scan.useDelimiter("\\Z");

A Scanner object splits its input into what are called tokens. It does this by using a delimeter. Basically, it looks for anything that matches its delimeter and cuts its input at every matching point. In your case, "\\\\Z" is a regular expression which matches only the end of input. That causes your Scanner to read in the entire file.

String content = scan.next();

This returns the next token in your Scanner 's input. Since you set the delimeter to "\\\\Z" , this is the entire file.

Now onto the actual program. Obviously, you can't read in from a file that doesn't exist, so you'd probably only want to use your Scanner if outputFile.exists() returns true .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM