java项目程序无法打开文件目录

自己写了一个java项目程序,做成了一个应用程序,之前一直都是点开就可以运行,各种功能都没问题。
突然有一天,点开之后发现所有要在系统磁盘上选择文件的功能都没响应了,并且程序报了如下错误。


[AWT-EventQueue-0] INFO com.jarvish.client.Login - ==================LoginInitStart
[AWT-EventQueue-0] INFO com.jarvish.client.Login - ==================LoginInitEnd
[AWT-EventQueue-0] INFO com.jarvish.client.App - ==================AppInitStart
[AWT-EventQueue-0] INFO com.jarvish.client.App - ==================AppInitEnd
八月 10, 2023 2:48:35 下午 org.ansj.util.MyStaticValue warn
警告: not find library.properties in classpath use it by default !
八月 10, 2023 2:48:35 下午 org.ansj.dic.impl.File2Stream info
信息: path to stream library/ambiguity.dic
八月 10, 2023 2:48:35 下午 org.ansj.library.AmbiguityLibrary error
严重: Init ambiguity library error :org.ansj.exception.LibraryException:  path :library/ambiguity.dic file:C:\我的数据\学习资料\研究生生涯\课题组\课题组学习内容\我的研究工程资料\SE_Standalone(预览版)\library\ambiguity.dic not found or can not to read, path: library/ambiguity.dic
八月 10, 2023 2:48:35 下午 org.ansj.dic.impl.File2Stream info
信息: path to stream library/default.dic
八月 10, 2023 2:48:35 下午 org.ansj.library.DicLibrary error
严重: Init dic library error :org.ansj.exception.LibraryException:  path :library/default.dic file:C:\我的数据\学习资料\研究生生涯\课题组\课题组学习内容\我的研究工程资料\SE_Standalone(预览版)\library\default.dic not found or can not to read, path: library/default.dic
八月 10, 2023 2:48:50 下午 sun.awt.shell.Win32ShellFolderManager2 getNetwork
警告: Cannot access 'Network'
java.io.IOException: Could not get shell folder ID list
    at sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
    at sun.awt.shell.Win32ShellFolder2.access$800(Win32ShellFolder2.java:72)
    at sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:588)
    at sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:586)
    at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:609)
    at sun.awt.shell.ShellFolder.invoke(ShellFolder.java:518)
    at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:586)
    at sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Win32ShellFolder2.java:222)
    at sun.awt.shell.Win32ShellFolder2.<init>(Win32ShellFolder2.java:235)
    at sun.awt.shell.Win32ShellFolderManager2.getNetwork(Win32ShellFolderManager2.java:208)
    at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:571)
    at sun.awt.shell.Win32ShellFolder2.access$400(Win32ShellFolder2.java:72)
    at sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:759)
    at sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:750)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:585)
    at java.lang.Thread.run(Thread.java:748)

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:571)
    at sun.awt.shell.Win32ShellFolder2.access$400(Win32ShellFolder2.java:72)
    at sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:759)
    at sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:750)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:585)
    at java.lang.Thread.run(Thread.java:748)

下面这个网址和我遇到的问题很像。不过我电脑上只有一个用户且就是管理员,应该不是账户的问题
http://www.360doc.com/content/11/0622/20/5546717_128787757.shtml
有没有人遇到过类似的问题呀,请教一下解决方案。

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
空指针异常了,看下业务代码哪里抛出的异常,对可能为空的对象,做个非空判断。

初始化ambiguity库和dic库时出错。错误信息指出路径library/ambiguity.dic和library/default.dic的文件不存在或无法读取。

最后一行显示了一个警告,表示无法访问'Network',并且给出了一个java.io.IOException异常,说明无法获取shell文件夹ID列表。

应该是有一些权限问题导致无法访问某些文件或文件夹导致这个报错

方便把源码共享出来看下不?可以的话,把代码上传到云盘中。

看报错可能是权限问题,你的代码要读library/ambiguity.dic和library/default.dic这两个文件的时候找不到,或无法读取这两文件。
你可以看一下这些文件是不是在你写的这个指定的路径中,而且还需要确认下你的代码有没有权限来读取这些文件。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

项目中是不是使用文件选择器组件,可以参考下这篇文章:https://forums.oracle.com/ords/apexds/post/jfilechooser-could-not-get-shell-folder-id-list-7075%E3%80%82

应该是有权限原因,检查一下要打开的目录是否被注册了管理员权限。

怎么还有空指针,还有很多初始化的错误,还有中文路径,全是在c盘中,确定没有删除吗

【相关推荐】



  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7752890
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:修改电脑用户名(使用注册表),解决电脑无法正常登录账号,电脑桌面文件消失,修改注册表恢复文件后正常,但电脑使用后续出现很多问题,重装系统
  • 除此之外, 这篇博客: 日常使用计算机出现的小问题(一)win10操作系统设备和驱动器栏目中出现空白图标该如何删除?删除一次刷新又重新出现中的 win10操作系统设备和驱动器栏目中出现一个空白图标,双击没有用,右键只显示剪切、创建快捷方式、删除三种选项,在我们选择删除之后,虽然暂时看不到它了,但是刷新一次又会重新出现。就像是蛀虫一样顽强地存在在我们电脑中,恶心我们。那我们应该怎么去删除呢?我总结了一下网上的一些文章,发现是一些流氓软件卸载残留下的,像某60手机助手,某豆荚,某风影音,某讯视频等软件。下面让我来展示一下详细步骤(欢迎读者在解决完自己的问题之后去帮助更多有类似情况的人): 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    步骤如下
    1.打开注册表编辑器
    方法一:按下 “ Win+R ” 组合键打开运行框,在框中输入:regedit 点击确定打开注册表编辑器;
    在这里插入图片描述
    在这里插入图片描述

    方法二:直接在左下角搜索框输入 注册表编辑器,然后打开
    在这里插入图片描述
    2.依次打开HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace,可以直接在下面复制

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace

    3.先备份注册表再删除项目(对自己有信心的大佬备份这步可以跳过,但是说一下凡是涉及注册表的问题一旦删错后果会很麻烦,所以为了安全起见,我推荐还是先备份一下比较好)

    备份具体步骤如下:
    (1)点击文件,使用导出选项
    在这里插入图片描述
    (2)选择注册表导出文件所在位置(我推荐在电脑桌面上新建一个注册表文件夹,将导出文件存放在注册表文件夹下,这样会很方便,需要用的时候直接回到桌面就能使用,方便、快捷、直观),同时输入文件名。
    在这里插入图片描述

    删除的具体步骤如下:
    在这里插入图片描述
    4.最后重启计算机,查看空白图标是否已删除

    PS:
    使用这种方法也可以用于删除设备和驱动器栏目中自己用不到也关不掉的应用快捷入口图标。具体演示就不再赘述了。

    相关文章引用如下:

    https://www.uc23.net/jiaocheng/59791.html
    http://www.win7999.com/news/423671645.html

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你要不试试用管理员权限执行一下这个exe文件?按住shift 右键的时候应该能看到以管理员运行

🔋 jdk是不是做过升级了,或者改动了,

你打包运行试试:

>java -jar 程序.jar

如果报错,则需要换jdk版本了,有可能是jdk bug。

java项目目录打不开的解决方法
将 eclipse 工作目录中的 .metadata 文件彻底删除,然后再启动 eclipse, 启动后, eclipse 会提示让你重新选择工作目录,但是 之前对eclipse 的设置会丢失,eclipse 中的项目也会变成空,但项目并没有删除,还在你的目录 下,这时就要重新导入项目即可.

你把你的项目放到一个不含中文路径的位置,再试试运行吧

将路径中“\”改成“/”试试

Ansj 库在初始化时无法找到或读取某些文件,导致出现异常。这可能是由于文件路径错误、文件损坏或权限问题等原因引起的。
确保所有需要的文件都具有正确的读权限。检查与 AWT 相关的设置和代码,特别是与文件选择器相关的部分。可以尝试调试或日志记录来查看 AWT 事件队列和文件选择器的状态和操作。重新编译和部署