windows下获取文件上传路径报错:java.io.FileNotFoundException: (文件名、目录名或卷标语法不正确。)

小编今天在java编程中使用fastdfs实现文件上传功能的时候,获取windows文件路径时报错:

java.io.FileNotFoundException: (文件名、目录名或卷标语法不正确。) 


原因分析:

出现次错误的原因主要是在windows系统下创建文件需要遵循其文件名的规则。导致创建文件失败,从而提示filenotfound异常,文件未找到
Windows 中文件夹命名规则是: 
① 文件名或文件夹名可以由1~256个西文字符或128个汉字(包括空格)组成,不能多于256个字符。 
② 文件名可以有扩展名,也可以没有。有些情况下系统会为文件自动添加扩展名。一般情况下,文件名与扩展名中间用符号“.”分隔。 
③ 文件名和文件夹名可以由字母、数字、汉字或~、!、@、#、$、%、^、&、( )、_、-、{}、’等组合而成。 
④ 可以有空格,可以有多于一个的圆点。 
⑤ 文件名或文件夹名中不能出现以下字符:\、/、:、*、?、"、<、>、| 。 
⑥ 不区分英文字母大小写。


所以需要将Windows文件路径转换为java中可识别的文件路径。


解决方案:

在Windows中的文件路径格式为 D:\tfs\235396.jpg
而在Java中的文件路径格式为 D:/tfs/235396.jpg
在java中使用前者则会报错,所以需要先将Windows中的文件路径转换为java中可识别的路径。
作如下处理:

String str="D:\\tfs\\235396.jpg";
String location=str.replace("\\\\", "/");
String[] strings=storageClient.upload_file(location, "jpg", null);


这样location的值为 D:/tfs/235396.jpg


  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值