java.io.File.isFile上的映射驱动器文件返回false,但是cmd是能够列出内容

如何解决java.io.File.isFile上的映射驱动器文件返回false,但是cmd是能够列出内容

创建映射驱动器[Z:],这是由命令

针对IBMi共享创建

NET USE Z:\ IBMiMachine \ PROD / USER:USER1 *******

成功创建的驱动器。

然后试图列出所有文件(例如.PHP / .TXT / html的等)存在映射的驱动器下,通过简单的Java程序(使用Java 7 IO API,以及java类驻留在一个可运行的罐 myjar.jar )通过运行命令

Java的罐子myjar.jar Z:

因此注意到的 java.io.File.isFile()针对各种文件返回假:

File: 'Z:\ABC\20100709\Info.PHP'
isSymbolicLink -- false
isDirectory -- true
exists: true
is file: false
can read: true
can write: true
is hidden: false


File: 'Z:\ZYZ\20100607\intranet\Int.PHP'
isSymbolicLink -- false
isDirectory -- true
exists: true
is file: false
can read: true
can write: true
is hidden: false

还在 java.io.File.isDirectory()也说那些目录;但是,这些文件内容可以看到命令由命令提示“CAT ”。

我的Java程序代码是这样的:

private static int counter = 1;
public static void main(String[] args)
{
    if (Utils.length(args) == 0)
    {
        print("Either passed argument was empty or null: " + Arrays.toString(args));
        return;
    }

    print("Passed argument was: " + Arrays.toString(args));

    doFile(new File(args[0]));
}

private static void doFile(File folder)
{
    if (folder.isDirectory())
    {
        showFileAttributes1(folder);
        showFileAttributes2(folder);

        String files[] = folder.list();
        int length = (files == null) ? 0 : files.length;
        for (int i = 0; i < length; i++)
        {
            doFile(new File(folder,files[i]));
        }
    }
    else if (folder.isFile())
    {
        showFileAttributes1(folder);
        showFileAttributes2(folder);
    }
}

private static void showFileAttributes1(File folder) throws IOException
{
   print("");
   print(" " + counter++ + ". File: '" + folder.getPath() + "' ---------");
    Map<String,Object> fileAttributes = Files.readAttributes(folder.toPath(),"*");
    Iterator<String> iterator = fileAttributes.keySet().iterator();
    while (iterator.hasNext())
    {
        String key = iterator.next();
        print(key + " -- " + fileAttributes.get(key));
    }
}

private static void showFileAttributes2(File file) throws IOException
{
    print("exists: " + file.exists());
    print("is file: " + file.isFile());
    print("can read: " + file.canRead());
    print("can execute: " + file.canExecute());
    print("can write: " + file.canWrite());
    print("is hidden: " + file.isHidden());
    
    Path filePath = Paths.get(file.getAbsolutePath());

    //Is file readable
    boolean isReadable = Files.isReadable(filePath);
    print("Is file readable: " + isReadable);

    //Is file writable
    boolean isWritable = Files.isWritable(filePath);
    print("Is file writable: " + isWritable);

    //Is file executable
    boolean isExecutable = Files.isExecutable(filePath);
    print("Is file executable: " + isExecutable);
}

private static void print(String message)
{
    System.out.println(message);
}

什么方法可采取克服爪哇问题?

注意:我对那台机器/文件夹相同的完全访问权限,因为通过的 ROBOcopY 命令我能够映射驱动器的完整的文件夹结构复制到我的本地驱动器,然后该文件夹上没有 Java API 问题

ROBOcopY Z:C:\ * MYSOURCE .PHP / E /log:log.txt

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?