Java: если файл не существует, я не могу создать условие для файла существует или нет. Почему? - PullRequest
0 голосов
/ 04 февраля 2020

Привет, это простой код, который сравнивает, существует папка или нет.

import java.io.*;

public class myfile {
    public static void main(String args[])
    {

        // Get the file
        File f = new File("file_f.txt");

        // Check if the specified file
        // Exists or not
        if (file_f.exists())
            System.out.println("Exists");
        else
            System.out.println("Does not Exists");
            System.out.println("I would like to run this possibility");
    }
}

Но мне нужно, чтобы код выполнялся, когда папка не существует. Но если я удаляю создание папки, появляется ошибка ... (В моем коде мне нужно проверить, существует ли папка, и если нет, код начал выполняться.) Так как мне это сделать, если в некоторых случаях папка еще не существует?

Теперь я удалил создание файла, потому что я хотел бы запустить другую часть ...

import java.io.*;

public class myfile {
    public static void main(String args[])
    {

        // Get the file

        //File f = new File("friends.txt");



        // Check if the specified file
        // Exists or not
        if (file_f.exists())
            System.out.println("Exists");
        else
            System.out.println("Does not Exists");
            System.out.println("I would like to run this possibility");
    }
}

, но

Ошибка: (14, 13) java: не удается найти символ символа: переменная f местоположение: класс myfile

Так как мне это сделать, если в некоторых случаях папка еще не существует? Спасибо

Ответы [ 2 ]

2 голосов
/ 04 февраля 2020

Эта строка не создает файл на диске (или в любом другом хранилище).

File f = new File("friends.txt");

Она просто создает внутри JVM объект, который вы можете использовать для манипуляций с файлом. Чтобы действительно создать файл с нуля, вам нужно создать что-то вроде OutputStream вокруг этого файла и написать что-нибудь там, а затем закрыть поток.

0 голосов
/ 04 февраля 2020

Этот код исправит указанную вами ошибку компиляции и продемонстрирует функциональность, когда файл присутствует, а когда его нет

import java.io.*;

public class FileTester {
    private static void testFile(File f){
         // Check if the specified file
        // Exists or not
        if (f.exists())
            System.out.println(f.getAbsolutePath() + " exists");
        else
            System.out.println(f.getAbsolutePath() + " does not exist");        
    }

    public static void main(String args[])
    {
        // assuming friends.txt already exists in current directory, this
        // will print "friends.txt exists"
        testFile(new File("friends.txt"));
        //assuming otherFile.txt does not already exist in current directory
        // this will print "otherFile.txt does not exist"
        testFile(new File("otherFile.txt"));

    }
}
...