How do I get file creation date and / or last modified date and time?

Herewith a quick extension to return created/modified/accessed/size(in bytes) of a file.

uk.co.metricrat.fileattributes.aix (16.9 KB)

Example blocks below show how to get this data from a file in your ASD

CODE
package uk.co.metricrat.fileattributes;


import com.google.appinventor.components.annotations.SimpleFunction;
import com.google.appinventor.components.runtime.AndroidNonvisibleComponent;
import com.google.appinventor.components.runtime.ComponentContainer;

import java.nio.file.*;
import java.nio.file.attribute.*;

public class FileAttributes extends AndroidNonvisibleComponent {

  String output = null;

  public FileAttributes(ComponentContainer container) {
    super(container.$form());
  }

  @SimpleFunction(description = "Returns attributes of a file.")
  public String GetFileAttributes(String directory, String filename) {

    Path file = FileSystems.getDefault().getPath(directory, filename);

    try {
      BasicFileAttributes attrs = Files.readAttributes(file, BasicFileAttributes.class);
      String creation = attrs.creationTime().toString();
      String modified = attrs.lastModifiedTime().toString();
      String access = attrs.lastAccessTime().toString();
      long size = attrs.size();
      output = "Created: " + creation + "\nLast Modified: " + modified + "\nLast Accessed: " + access + "\nSize: " + size;
    } catch (Exception e) {
      e.printStackTrace();
    }
    return output;
  }

}
3 Likes