publicfinal Date expectedCreated; publicfinal Date expectedModified; publicfinal String create; publicfinal String modify;
TestCase(int year, int month, int day, int hrs, int min, int sec, int milliseconds) { var calendar = GregorianCalendar.getInstance(TimeZone.getTimeZone("GMT")); // month is 0-based in Calendar
calendar.set(year, month - 1, day, hrs, min, sec);
calendar.set(Calendar.MILLISECOND, milliseconds);
expectedCreated = calendar.getTime(); var s = String.format("%4d%02d%02d%02d%02d%02d", year, month, day, hrs, min, sec); if (milliseconds != 0) {
s += "." + String.format("%03d", milliseconds);
}
create = s;
publicstaticvoid main(String[] args) throws Exception {
System.out.println("user.timezone: " + System.getProperty("user.timezone")); try (FtpServer server = new FtpServer();
FtpClient client = FtpClient.create()) {
(newThread(server)).start(); int port = server.getPort(); var loopback = InetAddress.getLoopbackAddress();
client.connect(new InetSocketAddress(loopback, port));
client.enablePassiveMode(true); for (var testCase : TestCase.values()) {
Asserts.assertEQ(testCase.expectedModified, client.getLastModified(testCase.name()), "wrong modified date from MDTM for " + testCase);
} for (var it = client.listFiles(null); it.hasNext(); ) { var e = it.next();
Asserts.assertEQ(TestCase.valueOf(e.getName()).expectedCreated, e.getCreated(), "wrong created date from MLSD for " + e.getName());
Asserts.assertEQ(TestCase.valueOf(e.getName()).expectedModified, e.getLastModified(), "wrong modified date from MLSD for " + e.getName());
}
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.