为了账号安全,请及时绑定邮箱和手机立即绑定

java 文件路径问题

java 文件路径问题

MYYA 2019-03-01 11:11:15
问题 windows下路径分割符'',java程序可识别的是'\'或'/',通过用户输入的路径进行转换,变成程序可识别的,但是转化后的路径程序不识别。 程序 import java.io.FileNotFoundException;import java.io.FileReader;import java.util.Scanner; public class test { public static void main(String[] args) { // TODO 自动生成的方法存根 String path=null; System.out.println("请输入文件路径"); Scanner in=new Scanner(System.in); //输入文件路径 "C:\Users\lenovo\Desktop\新建 Microsoft Excel 工作表.xlsx" path=in.nextLine().replaceAll("\\\\", "/"); System.out.println(path); //得到系统识别的路径 path="C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx" //path="C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx"; File file=new File(path); //此时系统找不到文件,但是 将path="C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx";执行后 程序能找到文件,问题就是 path已经是"C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx",但程序不识别,怎么回事 try { FileReader fileReader=new FileReader(file); System.out.println("读入文件"); } catch (FileNotFoundException e) { // TODO 自动生成的 catch 块 System.out.println("文件未找到"); } } }
查看完整描述

3 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

-。-好像没毛病,你对比下你能成功的path(就是你注释掉的)和输入后转换过的path

查看完整回答
反对 回复 2019-03-01
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

你可以尝试

"C:\\Users\\lenovo\\Desktop\\新建 Microsoft Excel 工作表.xlsx"
查看完整回答
反对 回复 2019-03-01
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

我跑了一下你的代码,没问题啊,中文的文件名也能识别。

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 437 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信