未创建Java文本文件

问题描述

我正在用Java(低于7版本)编写程序,该程序将在Linux机器上执行。

下面是代码,它不断在目录中请求文件,并且在创建文件时,还会在同一目录中创建答案文件

<html>
<body>
<div id="indiv"></div>
<script>
$('#indiv').append('<button id="btn1">press</button>'); 
$('#btn1').on('click',function(){
  alert('Hi!');
});
</script>

当我创建test.txt时,将执行代码且未创建答复文件。而且它似乎也不会在任何时候抛出错误,所以我不知道会发生什么。对发生的事情有任何了解吗?

非常感谢您。

解决方法

您做的while循环会因为行而永远运行

file = new File(filePath);

不创建文件。

您应该更改为此:

do {
  file = new File(filePath);
  file.createNewFile();
} while (!file.exists());

编辑: 我错过了答案,对此表示抱歉。 我在Linux上测试了该问题,并做了如下功能:

File file;
do {
    file = new File("/etc/ssl/private/test.txt");
    System.out.println(file);
    Thread.sleep(2000);
}
while (!file.exists());
try {
    file = new File("/etc/ssl/private/test2.txt");
    file.createNewFile();
} catch (IOException e) {
    e.printStackTrace();
}

示例说明:

  1. 在终端中执行命令“ cd / etc / ssl / private”会导致“权限被拒绝”
  2. System.out.println(file)返回“ /etc/ssl/private/test/test.txt”
  3. 使用sudo命令将文件test.txt添加到路径/ etc / ssl / private中
  4. Java程序仍不会退出循环

所以我的猜测是您的Java应用程序无权读取“ / mnt / fs_services / pid / data / users / sup /”,这就是您的程序无法正常工作的原因。

顺便说一句。当我确实将filePath设置为/home/test.txt时,该应用程序确实有效。