У меня есть файл, который я хочу создать, поэтому я хочу, чтобы все его родительские каталоги были установлены до его создания (или я получу ошибку).Как избежать нулевого сравнения с file.getParentFile()?
File fileA = fileB.getParentFile();
Теперь, если fileB действительно имеет родительский файл, файлA будет содержать фактический файл-объект. Однако, если fileB не имеет родителя, fileA будет равен нулю, а вызов createNewFile() в файлеA приведет к ошибке NullPointerException. Таким образом, единственный способ создания FiLea безопасно было бы тогда сделать следующее:
if (fileA != null) {
fileA.mkdirs();
{
fileB.createNewFile();
Однако, по общему мнению, кажется, что вы никогда не должны использовать = нулевой чек в вашем коде, потому что это плохая практика , Существуют ли исключения из этого правила и является ли это одним из них? Или есть лучший способ, которым я мог бы обозначить этот код?
Попытайтесь таким образом 'File fileA = fileB.getAbsoluteFile(). GetParentFile();' –
Использование '! = Null', безусловно, не всегда плохая практика и полностью прекрасная. Как подтверждает документация java.io.File.getParentFile() ', возвращаемое значение null не указывает на исключительное поведение для этого конкретного метода. –
'Первое правило кодирования - нет фиксированного правила', когда вам нужно использовать'! = Null', как в этой ситуации, вы должны использовать. – Karthik