I’m not sure why this is but in my IDE, for file.createNewFile();
I’m getting Result of 'File.createNewFile()' is ignored
for it which I’ve no idea what I should be doing
x
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
public class SQL {
public Connection connection;
public SQL(File file) {
try {
file.createNewFile(); // Result of 'File.createNewFile()' is ignored
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:" + file.getAbsolutePath());
} catch(Exception exception) {
exception.printStackTrace();
}
}
}
Advertisement
Answer
Static Code Inspection in your IDE for createNewFile
might be complaining this because createNewFile
returns a boolean value. This is in place so that you have a way to determine if the creation of file is successful or not and act accordingly. Right now the boolean result is not assigned to any variable, so it’s ignored.
Ideally you should check the result of file.createNewFile()
and validate whether file actually got created before moving on to setting up connection.
// Create File
boolean fileCreated = file.createNewFile()
// Validate that file actually got created
if (!fileCreated) {
throw new IOException("Unable to create file at specified path. It already exists");
}
// Proceed to setting up connection
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:" + file.getAbsolutePath());