diff --git a/library/src/main/java/com/liulishuo/filedownloader/services/FileDownloadRunnable.java b/library/src/main/java/com/liulishuo/filedownloader/services/FileDownloadRunnable.java
index <HASH>..<HASH> 100644
--- a/library/src/main/java/com/liulishuo/filedownloader/services/FileDownloadRunnable.java
+++ b/library/src/main/java/com/liulishuo/filedownloader/services/FileDownloadRunnable.java
@@ -572,7 +572,8 @@ public class FileDownloadRunnable implements Runnable {
          * Only handle the case of Chunked resource, if it is not chunked, has already been handled
          * in {@link #getRandomAccessFile(boolean, long)}.
          */
-        if (model.getTotal() == -1 && ex instanceof IOException) {
+        if (model.getTotal() == -1 && ex instanceof IOException &&
+                new File(model.getPath()).exists()) {
             // chunked
             final long freeSpaceBytes = FileDownloadUtils.
                     getFreeSpaceBytes(model.getPath());
fix(chunked-crash): handle the crash when delete the chunked-download-file during downloading
calculate the free space with the path must exist