Définition de l'horodatage de création de fichier en Java
Je sais réglage de la création d'horodatage n'existe pas en Java, car Linux ne l'a pas, mais est-il un moyen de définir un fichier (Windows) création d'horodatage en Java? J'ai une base timestamp de modification de l'éditeur j'ai fait ici.
import java.io.*;
import java.util.*;
import java.text.*;
import javax.swing.*;
public class chdt{
static File file;
static JFrame frame = new JFrame("Input a file to change");
public static void main(String[] args) {
try{
final JFileChooser fc = new JFileChooser();
fc.setMultiSelectionEnabled(false);
//BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
//System.out.println("Enter file name with extension:");
//String str = bf.readLine();
JOptionPane.showMessageDialog(null, "Input a file to change.");
frame.setSize(300, 200);
frame.setVisible(true);
int retVal = fc.showOpenDialog(frame);
if (retVal == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
frame.setVisible(false);
} else {
JOptionPane.showMessageDialog(null, "3RR0RZ! You didn't input a file.");
System.exit(0);
}
//System.out.println("Enter last modified date in 'dd-mm-yyyy-hh-mm-ss' format:");
//String strDate = bf.readLine();
String strDate = JOptionPane.showInputDialog("Enter last modified date in 'dd-mm-yyyy-hh-mm-ss' format:");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss");
Date date = sdf.parse(strDate);
if (file.exists()){
file.setLastModified(date.getTime());
JOptionPane.showMessageDialog(null, "Modification is successful!");
}
else{
JOptionPane.showMessageDialog(null, "File does not exist! Did you accidentally it or what?");
}
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "3RR0RZ");
}
}
}
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Ici est de savoir comment faire en Java 7 avec le nio cadre:
la
BasicFileAttributeView.setTimes(FileTime, FileTime, FileTime)
arguments de méthode définir l'heure de dernière modification, dernier accès le temps, et le temps de création, respectivement.À partir de Java 7vous pouvez utiliser
java.nio.fichier.Les fichiers.setAttribute
et lacreationTime
attribut:D'autres attributs peuvent être trouvés ici:
Je crois que vous avez les options suivantes:
GetFileTime
etSetFileTime
.Et ici, je suppose que vous aurez de la chance 🙂 à la Recherche de ces fonctions sur Google j'ai trouvé un post ici sur. Cette réponse (pas acceptés) pour Comment Découvrir un Moment de la Création du Fichier avec Java semble faire exactement ce que vous voulez à l'aide de JNA et les méthodes ci-dessus. Et si c'est le cas, veuillez upvote que répondre une fois de plus 🙂
S'il vous plaît ne pas penser au titre, il a une méthode pour définir le moment de la création de trop. J'espère que tu arriveras à le faire fonctionner.
Vous devriez la recherche pour java.nio si vous utilisez le jdk >= 1.7
Vous pouvez aussi essayer ceci (bien fonctionné pour moi sur mac os Mavericks et me faire deux timestamps):