You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中读取U盘根目录下的INPUT.TXT文件?

解决java.io.FileNotFoundException:定位U盘上的INPUT.TXT文件

嘿,这个问题太常见啦——你现在的代码是在当前程序运行的工作目录里找INPUT.txt,但讲师给的文件在U盘根目录,自然找不到咯。给你一步步捋清楚怎么搞定:

1. 先找到U盘在系统里的实际路径

  • Windows系统:打开文件资源管理器,U盘会显示成一个独立盘符(比如D:、E:),根目录路径就是盘符:\INPUT.TXT,比如D:\INPUT.TXT。
  • macOS/Linux系统:U盘通常会挂载到特定目录,macOS一般是/Volumes/[你的U盘名称],Linux则是/media/[你的用户名]/[U盘名称],比如U盘名叫ClassUSB,路径就是/Volumes/ClassUSB/INPUT.TXT。

2. 修改代码里的文件路径

直接把U盘的完整路径写到代码里就行,注意几个小细节:

  • Windows系统里,路径里的反斜杠\需要转义,所以要写成"D:\\INPUT.TXT",或者直接用正斜杠"D:/INPUT.TXT"(Java会自动识别)。
  • 一定要注意文件名的大小写!讲师给的是INPUT.TXT,你原来代码里写的是INPUT.txt——Windows不区分大小写,但macOS/Linux是严格区分的,所以最好统一写成"INPUT.TXT"。

举个具体的代码例子(Windows环境):

// 替换成你的U盘盘符
Scanner reader = new Scanner(new File("D:\\INPUT.TXT"));

如果想让代码更适配不同系统,可以用File.separator自动适配路径分隔符:

// 这里替换成你的U盘根路径,比如Windows的"D:",macOS的"/Volumes/ClassUSB"
String usbRootPath = "D:";
File inputFile = new File(usbRootPath + File.separator + "INPUT.TXT");
Scanner reader = new Scanner(inputFile);

3. 额外排查小技巧

要是还是找不到,先确认这几点:

  • U盘是不是已经正确连接到电脑,能在文件管理器里看到INPUT.TXT文件?
  • 可以打印下程序的当前工作目录,看看它默认在找哪里:
    System.out.println("当前程序工作目录: " + System.getProperty("user.dir"));
    
    你会发现默认是你的项目目录,根本不是U盘路径,这就是问题根源啦。

内容的提问来源于stack exchange,提问作者yoobi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:12:06