Java:在File.isFile()的上下文中构成“普通”文件的是什么?

我遇到了file.isFile()返回false的情况,这表明该文件不是“正常”。 但是,我找不到“正常”含义的定义。 文档链接到Oracle状态: 如果文件不是目录,则该文件是正常的,此外,它还满足其他系统相关标准。 该文件归_www:staff所有,并具有权限-rw-r–r– 。 该目录也归_www:staff所有,并拥有权限drwxrw-r– 。 访问该文件的进程由bob:staff拥有。 该系统是MacOS 10.9。 该过程可以正常读取和加载并显示文件; 唯一的问题是对isFile()的调用返回false,这意味着Java认为它不是普通文件。 那么,回到更大的问题,即使文件存在,该调用在什么条件下将返回false,路径是否正确,文件是否可访问?

Scala中的不变性和线程安全性

我正在阅读实践中的Java并发书,当我读到不变性和线程安全之间的关系时,我试图深入了解。 所以,我发现至少有一个用例,在Java中构造一个不可变类可以导致发布一个非正确构造的对象。 根据此链接,如果类的字段未final解析,则编译器可以重新排序需要完成的语句以构造对象。 实际上,根据此链接,要构建对象,JVM需要执行以下非primefaces操作: 分配一些内存 创建新对象 使用默认值初始化其字段(布尔值为false,其他基元为0,对象为null) 运行构造函数,其中包括运行父构造函数 为新构造的对象分配引用 我的问题是:Scala怎么样? 我知道Scala基于Java的并发模型,因此它基于相同的Java内存模型。 例如, case class es线程安全是否与上述构造问题有关? 谢谢大家。

Android设置壁纸出错了

所以我很久以前就开发了壁纸更换器并将其发布。 过了一会儿,我开始收到评论壁纸没有正确resize。 我也尝试了不同大小的鸸and,他们是对的。 我正确地缩放位图等但不知何故android往往会重新缩放壁纸甚至更大! 有办法避免吗? 我的代码: Display display = parent.getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); Bitmap scaled = Bitmap.createScaledBitmap(wallpaper, width, height, true); WallpaperManager wm = WallpaperManager.getInstance(getContext()); wm.setBitmap(scaled); 我一直在尝试其他方式,但似乎没有任何帮助,即使我后来检查重新调整的壁纸是否正确大小等:(任何想法?

Java和SQL Server中的精确噩梦

我一直在努力解决Java和SQL Server中的精确噩梦,直到​​我不知道为止。 就个人而言,我理解这个问题及其根本原因,但向全球客户解释这一点是不可行的(至少对我而言)。 情况就是这样。 我在SQL Server中有两列–Qty INT和Price FLOAT。 这些值为 – 1250和10.8601 – 因此,为了获得总值,其数量*价格和结果为13575.124999999998(在Java和SQL Server中)。 那是对的。 问题是这个 – 客户端不想看到它,他们只看到这个数字为13575.125就是这样。 在一个地方,他们可以用2位小数精度看到它,另外4位小数。 当以4位小数显示时,数字是正确的 – 13575.125,但是当以2位小数显示时,他们认为它是错误的 – 13575.12 – 应该是13575.13! 帮帮我。

如何在java中实现国际化

我有一个名为Info的类,我有一堆static String变量。 public class Info{ public static stringOne= “Hello”; public static stringTwo = “world”; } 我希望从其他类中访问Info.stringTwo这些变量。 1.)我需要知道这是否是我在这里应用的java-Internationalization ? (我将在本课程中分配的应用程序中显示所有消息。并且,我希望也能为该应用程序提供不同的语言支持)

如何从使用该程序的人隐藏MySQL数据库的密码

我用JDBC创建了一个java程序,它成功连接到我的计算机服务器的MySQL数据库,如下所示: try { // The newInstance() call is a work around for some // broken Java implementations Class.forName(“com.mysql.jdbc.Driver”).newInstance(); } catch (Exception ex) { // handle the error } try { conn = DriverManager.getConnection((“jdbc:mysql://191.168.1.15:3306/databasename”), “username”, “password”); // Do something with the Connection } catch (SQLException ex) { // handle any errors System.out.println(“SQLException: ” + ex.getMessage()); System.out.println(“SQLState: […]

从条带webhook事件中检索条带数据

在java中实现条带webhook时,我成功地获取了JSON格式的事件对象。 问题是我无法获得嵌套JSON中的amount,subscription_id,属性等详细信息。 从类对象获取这些值也不可用。 你能告诉我如何提取这些价值观吗? public void handle(HttpServletRequest request) { Stripe.apiKey = sk_test_XXXXXXXXXXXXXXXXXXXX; String rawJson = “”; try { rawJson = IOUtils.toString(request.getInputStream()); } catch (IOException ex) { System.out.println(“Error extracting json value : ” + ex.getMessage()); } Event event = APIResource.GSON.fromJson(rawJson, Event.class); System.out.println(“Webhook event : ” + event); } 我收到以下回复: – Webhook event : JSON: { “id”: […]

为什么我的NullPointerException没有被我的catch块捕获?

我有一个线程,我在一个大的,无所不包的catch块中捕获所有错误。 我这样做,以便我可以在我的应用程序中报告任何错误,而不仅仅是预期的错误。 我的Runnable看起来像这样: public final void run() { try { System.out.println(“Do things”); /* [1] */ doUnsafeThings(); } catch (Throwable t) { System.out.println(“Catch”); /* [2] */ recover(); } finally { System.out.println(“Finally”); /* [3] */ } } 我希望NPE能被Throwable catch块捕获。 相反,不打印[2]处的输出,也不打印[3]。 打印[1]处的输出。 我在控制台上得到的是这样的: Uncaught exception java/lang/NullPointerException. 到底是怎么回事? 对于法庭记录,我正在使用J2ME,这是在Sun的WTK v2.5.2模拟器中运行的。 我很想把它归结为JVM实现的笨拙,但我不禁感到我只是错过了一些东西。 澄清是为了避免怀疑(因为示例代码明显改变了我的生产代码) run方法中try / catch / finally块之外没有任何内容。 每个块的开头都有一个System.out.println – […]

将第二个项目添加到我的堆栈窗格时,第一个项目将丢失其Event / MouseOn。 为什么? 我该怎么办? JavaFX的

我有一个堆叠的窗格。 当我向堆栈窗格添加第二个项目时,两个都显示,但我不能再点击我的第一个项目了。 它变得“无法点击”。 我在.setonmouse中定义的内容不起作用。 它适用于我的第二个项目。 如果我切换它们在堆栈窗格中的顺序,则另一个可以工作,但不能同时工作。 有没有解决这个问题? 这是我的程序的样子: 我希望我的’网格’始终居中。 左侧有一些按钮位于列的中间,稍后会有右侧的按钮,网格顶部会有按钮/文本,稍后会在边距中显示按钮/文本。 我希望一切都可以点击。 http://img688.imageshack.us/img688/6025/examplerg.png

如何停止Java程序的线程?

我用GUI创建了一个java程序,并在其上放置了一个“停止”按钮。 当我启动程序时,主线程启动10个线程。 现在我希望每当用户点击“停止”按钮时,所有线程应首先终止,然后主线程应该终止。 我怎样才能做到这一点。