I’m doing a applet for ftp file transfers and I need to know the size of a local file (for download resumes). The problem is the File.length() returns 0.
The file exists (checked with File.exists()), and has more than 0 bytes (in Windows at least).
I don’t know where more to look to find out why length() is returning 0.
Here is part of the code and the result.
long fileOffset = 0;
if(localfile.exists()){
fileOffset = localfile.length();
System.out.println("The file " + localfile.getAbsolutePath() + " has " + localfile.length() +" in size");
System.out.println("Resume at: " + fileOffset);
outputStream.skip(fileOffset);
ftp.setRestartOffset(fileOffset);
count = fileOffset;
}
And the result in the console is:
The file D:\test\About Downloads.pdf has 0 in size
Resume at: 0
Thanks
The existence of the variable “outputStream” suggests that at this point, perhaps you’ve already opened the file for writing, and in the process, you’ve truncated it. Try computing the size before actually opening the file?