create .gitignore with java

I'm aware this question might be a duplicate in some sense but first hear me out.

I tried to create a code where i can create gitignore file with contents and for some reason i always end up having a file with txt extension and without name. Can someone explain this behavior and why?

Example Code:

System.out.println(fileDir+"\\"+".gitignore");
FileOutputStream outputStream = new FileOutputStream(fileDir+"\\"+".gitignore",false);
byte[] strToBytes = fileContent.getBytes();
outputStream.write(strToBytes);
outputStream.close();

Upvotes: 1

Views: 507

Answers (1)

deHaar
deHaar

Reputation: 18568

You can use java.nio for it. See the following example:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class StackoverflowMain {

    public static void main(String[] args) {
        // create the values for a folder and the file name as Strings
        String folder = "Y:\\our\\destination\\folder";  // <-- CHANGE THIS ONE TO YOUR FOLDER
        String gitignore = ".gitignore";
        // create Paths from the Strings, the gitignorePath is the full path for the file
        Path folderPath = Paths.get(folder);
        Path gitignorPath = folderPath.resolve(gitignore);
        // create some content to be written to .gitignore
        List<String> lines = new ArrayList<>();
        lines.add("# folders to be ignored");
        lines.add("**/logs");
        lines.add("**/classpath");

        try {
            // write the file along with its content
            Files.write(gitignorPath, lines);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

It creates the file on my Windows 10 machine without any problems. You need Java 7 or higher for it.

Upvotes: 2

Related Questions