在一长串文件中查找最近修改的3个文件

我有一个文件列表,我想排序和提取前3个最后修改。 约束:由于下游应用程序的兼容性问题,我无法使用Java 7 我目前的选择 解决方案1 File[] files = directory.listFiles(); Arrays.sort(files, new Comparator(){ public int compare(File f1, File f2) { return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified()); } }); 解决方案2 public static void sortFilesDesc(File[] files) { Arrays.sort(files, new Comparator() { public int compare(Object o1, Object o2) { if ((File)o1).lastModified().compareTo((File)o2).lastModified()) { return -1; } else if (((File) o1).lastModified() < ((File) o2).lastModified()) { […]

Eclipse JDK设置如何影响系统的JDK设置

我试图在Mac OSX上编译引用第三方JAR的Grails应用程序。 虽然我的系统的JRE和JDK设置为Java 1.6,但我总是遇到Compilation error: java.lang.UnsupportedClassVersionError: Bad version number in .class file访问JAR中的类时Compilation error: java.lang.UnsupportedClassVersionError: Bad version number in .class file 。 此外,在测试现有Grails应用程序时,应用程序的默认统计信息显示它正在运行Java 1.6。 所以我真的没有比尝试改变Eclipse中的Java设置更多的想法 – 我认为这是愚蠢的,因为我没有使用Eclipse来开发这个应用程序 – 但是瞧 – 现在编译我的应用程序的命令线路工作得很好! 谁能解释一下Eclipse在幕后做了什么? 我之前手动设置了JAVA_HOME没有任何效果。

如何在JavaFX中创建TimeSpinner?

我想让旋转器进入这样的时间: YoutubeVidéo 如果有人知道源代码隐藏在哪里,那将是完美的。 但如果没有,我想尝试自己实现它,但我怎么做这样的3个不同的(可聚焦?)textarea? 编辑:这是我得到的,但我希望能够选择小时和增量小时不仅是分钟(和秒的相同) Spinner spinner = new Spinner(new SpinnerValueFactory() { { setConverter(new LocalTimeStringConverter(FormatStyle.MEDIUM)); } @Override public void decrement(int steps) { if (getValue() == null) setValue(LocalTime.now()); else { LocalTime time = (LocalTime) getValue(); setValue(time.minusMinutes(steps)); } } @Override public void increment(int steps) { if (this.getValue() == null) setValue(LocalTime.now()); else { LocalTime time = (LocalTime) getValue(); […]

如何正确使用PropertyValueFactory?

我正在尝试使用TableView创建一个表,并根据User对象列表以编程方式填充它。 User有三个变量, nameProperty (String), rankProperty (Enum称为Rank)和netMeritsProperty (int)。 这些都存储在SimpleStringProperty对象中。 我的问题是数据不会出现在实际的表中,如下所示: 这是我的表格代码。 我不明白的是什么? TableColumn name = new TableColumn(“Name”); name.setCellValueFactory(new PropertyValueFactory(“nameProperty”)); TableColumn rank = new TableColumn(“Rank”); rank.setCellValueFactory(new PropertyValueFactory(“rankProperty”)); TableColumn netMerits = new TableColumn(“Net Merits”); netMerits.setCellValueFactory(new PropertyValueFactory(“netMeritsProperty”)); userTable.getColumns().addAll(name, rank, netMerits);

在Java中访问静态字段的正确方法是什么?

我刚开始学习Java,我写了一个类来测试使用静态字段。 一切正常但在Eclipse中我看到一个图标,当它hover时出现:“应该以静态方式访问 CarCounter类型的静态方法getCounter。” 什么是正确的方式呢? 这是class级: public class CarCounter { static int counter = 0; public CarCounter(){ counter++; } public static int getCounter(){ return counter; } } 这是我尝试访问变量计数器的地方: public class CarCounterTest { public static void main( String args[] ){ CarCounter a = new CarCounter(); System.out.println(a.getCounter()); //This is where the icon is marked } }

无法添加此项目,因为它不使用Ant脚本生成JAR文件

在我的问题后,我现在想出了这个问题。 我正在使用NetBeans 8。 我创建了一个Maven项目,我们称之为MyLibMaven,(我使用了New Project – > Maven – > Java Aplication),我将我的库,我们称之为MyLib,移动到这个Maven项目中。 现在,当我进入正常的Java项目(让我们称之为MyProject)并尝试将MyLibMaven作为库添加到MyProject时,我在Netbeans中得到这个弹出窗口: This project cannot be added because it does not produce a JAR file using an Ant script 我在这做错了什么? 这是我的pom.xml 4.0.0 com.dwnz.my.lib MyLib 1.0-SNAPSHOT jar UTF-8 1.7 1.7 MyLib com.google.guava guava 17.0 /////////////////////////编辑//////////////////////// ////// 我将项目移动到maven项目,并将MyLibMaven添加为依赖项。 但是现在当我尝试运行我的项目时,我得到了这个失败的错误: — exec-maven-plugin:1.2.1:exec (default-cli) @ TeseMaven — Could […]

scala sbt和公司代理 – SunCertPathBuilderException

当我尝试使用SBT时,无法下载某些文件,并出现以下错误: 服务器访问错误:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径url = https://repo1.maven.org/maven2/组织/阶-SBT / SBT / 1.0.0-M4 / SBT-1.0.0-M4.jar 我已经遵循了stackoverflow的一些建议,并使用java keytool导入了公司代理SSL证书,如下所述: Web服务代理中的SSL证书问题 它似乎不会影响SBT工具。 它是否在不同的密钥库中查找? 有任何想法吗? 如果我在浏览器上粘贴URL,则下载文件。 只运行我安装的SBT工具时出现此错误。 当我尝试在IntelliJ Idea上创建一个SBT项目并对其进行更新时,它会给我带来不同URL的相同错误。 尝试使用lightbend激活器时也是如此。 谢谢。

通过Java以编程方式运行ANT

我需要通过Metrics Plugin从不同的Java项目(在Eclipse中配置)中提取指标。 我正在尝试使用ANT构建脚本自动执行此过程。 我做了一个Java实用程序项目,它将: 创建这些构建文件 将它们放在Eclipse中配置的各个Java项目中 尝试执行它们。 虽然build.xml正确运行,但当我尝试以编程方式运行它时,我收到以下错误: Exception in thread “main” ProjectHelper.parse() must be implemented in a helper plugin org.apache.tools.ant.ProjectHelper at org.apache.tools.ant.ProjectHelper.parse(ProjectHelper.java:277) at com.metrics.generator.MetricsGenerator.runAntScripts(MetricsGenerator.java:69) at com.metrics.generator.MetricsGenerator.doAutomate(MetricsGenerator.java:43) at com.metrics.generator.MetricsGenerator.main(MetricsGenerator.java:30) 我假设parse()方法不能正常工作,但我不明白为什么。 手动运行build.xml(这意味着正确创建了XML文件)。 我必须为Eclipse运行此构建的唯一修改是转到Run> External Tools> External Tools Configuration> JRE并选择“在与工作区相同的JRE中运行” 构建文件如下: 注意:[projectName]和[ouputFile]目前在创建时提供,我只是在这篇文章中省略了它们。 仅供参考,我正在使用Eclipse Indigo。 失败的代码如下所示: private void runAntScripts(File[] projectFolders){ BuildLogger logger = new DefaultLogger(); logger.setOutputPrintStream(System.out); logger.setErrorPrintStream(System.out); logger.setMessageOutputLevel(Project.MSG_INFO); […]

将参数传递给Java Interpreter所需的JAR

当我执行我的java应用程序时,我需要传递Java解释器为Flash图像所需的参数。 例如。 java -sum_arg演示 现在我想为我的应用程序创建JAR文件,我如何克服需要参数。

charAt()。equals()导致“char无法解除引用”

我试图在不同的位置检查字符串的连字符(对于电话号码,因为输入变化),但我一直收到错误 char不能被解除引用 码: do { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print(“Enter String”); String raw = br.readLine(); if (raw.length() < 10) { System.out.println(""); System.out.println("Please input a valid phone number of at least 10 digits/letters"); System.out.println(""); } else { if (raw.charAt(3).equals('-') && raw.charAt(7).equals('-')) { System.out.println("2 Hyphens at 3 and 7"); } else if (raw.charAt(3).equals('-') && raw.charAt(8).equals('-')) […]