Java create multiple new files

how to create multiple files with different names in java
how to write multiple files in java
java 8 create file
create new file
dynamically create file in java
create new file every time in java
how to read and write multiple files in java
java create file in current directory

I read this question here How to create a file in a directory in java?

I have a method that creates a QR Code. The method is called several times, depends on user input.

This is a code snippet:

String filePath = "/Users/Test/qrCODE.png";
int size = 250;
//tbd
String fileType = "png";
File myFile = new File(filePath);

The problem: If the user types "2" then this method will be triggered twice. As a result, the first qrCODE.png file will be replaced with the second qrCODE.png, so the first one is lost.

How can I generate more than one qr code with different names, like qrCODE.png and qrCODE(2).png

My idea:

if (!myFile.exists()) {
    try {
        myFile.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Any tips?

EDIT: I solved it by using a for loop and incrementing the number in the filename in every loop step.

You can create more files eg. like follows

int totalCount = 0; //userinput

String filePath = "/Users/Test/";
String fileName= "qrCODE";
String fileType = "png";

for(int counter = 0; counter < totalCount; counter++){
    int size = 250;
    //tbd
    File myFile = new File(filePath+fileName+counter+"."+fileType);
    /*
       will result into files qrCODE0.png, qrCODE1.png, etc.. 
        created at the given location
    */
}

Btw to add check if file exists is also good point.

{...}
 if(!myFile.exists()){
    //file creation
    myFile.createNewFile()
 }else{
   //file already exists
 } 
{...}

How to create multiple text files in Java, File f;. for(int i=0;i<10;i++) {. f = new File("C://JavaFiles/Tecmax" + i + ".txt");. f.​createNewFile();. BufferedWriter s=new BufferedWriter(new FileWriter(f));. To create a file in Java, you can use the createNewFile () method. This method returns a boolean value: true if the file was successfully created, and false if the file already exists. Note that the method is enclosed in a trycatch block. This is necessary because it throws an IOException if an error occurs (if the file cannot be created for some reason):

You can check /Users/Test direcroty before create file.

String dir = "/Users/Test";
String pngFileName = "qrCode";

long count = Files.list(Paths.get(dir))      // get all files from dir
    .filter(path -> path.getFileName().toString().startsWith(pngFileName))   // check how many starts with "qrCode"
    .count();

pngFileName = pngFileName + "(" + count + ")";   

Creating multiple files from a list, I don't know what your general application, but if those files are also read by a Java program in the end, it would probably be best to not write so  Solution This example demonstrates the way of creating a new file by using File () constructor and file.createNewFile () method of File class.

Your idea of solving the problem is a good one. My advice is to break up the filePath variable into a few variables in order to manipulate the file name easier. You can then introduce a fileCounter variable that will store the number of files created and use that variable to manipulate the name of the file.

int fileCounter = 1;
String basePath = "/Users/Test/";
String fileName = "qrCODE";
String fileType = ".png";

String filePath = basePath + fileName + fileType;
File myFile = new File(filePath);

You can then check if the file exists and if it does you just give a new value to the filePath variable and then create the new file

if(myFile.exists()){
    filePath = basePath + fileName + "(" + ++fileCounter + ")" + fileType;
    myFile = new File(filePath);
}
createFile(myFile);

And you're done!

[Solved] Write to multiple files with java, i); writer = new BufferedWriter(new FileWriter(fileNames[i])); writer.write("Java is object oriented"); writer.close(); //<- flush the BufferedWriter }. 1. Create file with java.io.File class. Use File.createNewFile() method to create new file. This method returns a boolean value – true if the file is created successfully. false if the file already exists or the operation failed for some reason. Please note that this method will only create a file, but not write any content to it.

Java - Create New File, Java create new file examples. Creating a new file in Java is a very easy task and most of us are aware of this. Let's look at 3 most commonly used ways. Something like, File file = File.createTempFile(key, ".txt", new File("c:\\")); might be a better idea, but is depended on what you want to achieve. The JavaDocs state that the prefix must be at least three characters long, so you'll need to pad the key value to meet these requirements.

How to create directories in Java, File; // shows how to create multiple directories in java // (multiple directory File dir = new File("/Users/al/tmp/000/111/222"); // create multiple  How about this: [code]// Was gonna make this 3000 but yea class FileMaker10 { // Loops to 10 and creates a file each iteration public static void main(String

Java create new file, Java create new file, java create file, File.createNewFile method, how to create a file in java, java new file absolute path, relative path, Files.write. CREATE_NEW – Creates a new file and throws an exception if the file already exists. CREATE – Opens the file if it exists or creates a new file if it does not. DELETE_ON_CLOSE – Deletes the file when the stream is closed. This option is useful for temporary files. SPARSE – Hints that a newly created file will be sparse. This advanced option is honored on some file systems, such as NTFS, where large files with data "gaps" can be stored in a more efficient manner where those empty gaps

Comments
  • Why not testing the presence of the file before saving it, and if it exists recursively try with filename+(2) ?
  • File.createTempFile("qrCODE", ".png", new File("/Users/Test"));
  • Maybe use the timestamp in the file name: System.currentMillis() or use a UUID