How to check if a file already exists in a mobile directory in Flutter?

Asked

Viewed 1,042 times

1

I have a method to check certain files. pdf exist in the app folder, I used path_provider to get the path, how do I check if the file exists in the directory?

Future<void> checkFile() async{

      try {

        var dir = await getApplicationDocumentsDirectory();

        path = "${dir.path}/${document["title"]}.pdf";

        if(path != null){ // Preciso checar aqui se o arquivo com exatamente este nome existe no diretório.

          setState(() {
            progressString = "Livro Baixado!";
          });

        }

      } catch (e) {
        setState(() {
          progressString = "Falha em checar se o livro já foi baixado!";
        });
        print(e);
      }

    }

2 answers

1


I imported Dart:io and used this condition:

if( FileSystemEntity.typeSync(path) != FileSystemEntityType.notFound)

0

To check whether or not there is a file in the app’s internal local storage, use:

import 'dart:io' as io;
// para um arquivo
io.File(await path).exists();
// para um diretório
io.Directory(await path).exists();

Browser other questions tagged

You are not signed in. Login or sign up in order to post.