package Test08;
import java.io.*;
public class test01 {
public void photo() throws IOException {
//获取上传文件的路径,通过file建立数据源的链接
String str = "C:\\Users\\ALIENWARE\\Desktop\\F35-Aircraft-picture-credit_Lockheed-Martin.jpg";
//判断一下链接是否存在,不存在,直接结束
//获取目的地路径,通过file建立链接(目的地)
String str1 = "C:\\Users\\ALIENWARE\\IdeaProjects\\TestEight";
File file = new File(str1);
//判断一下链接是否存在,不存在则创建文件夹
if(!file.exists()){
file.mkdirs();
}
//通过获取文件名称及上传文件的位置,构建新的路径
String filename = str + File.separator + System.currentTimeMillis() + str.substring(str.lastIndexOf("."));
InputStream is = null;
OutputStream os = null;
//获取输入输出流
try {
is = new FileInputStream(str);
os = new FileOutputStream(filename);
} catch (FileNotFoundException e){
e.fillInStackTrace();
}
//具体的上传操作
byte[] bytes = new byte[1024];
int temp = 0;
while ((temp = is.read(bytes)) != -1){
os.write(bytes, 0, temp);
}
os.close();
is.close();
}
public static void main(String[] args) throws IOException {
test01 test1 = new test01();
test1.photo();
}
}
请问这个问题应该怎么解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2022-06-15 10:16关注
应该是str和filename指向的是同一个文件导致的错误,我在eclipse里打印str的值后发现str和值和filename的值一样,把给filename赋值的str改为str1程序就正常运行了。
import java.io.*; public class test01 { public void photo() throws IOException { //获取上传文件的路径,通过file建立数据源的链接 String str = "f:\\F35-Aircraft-picture-credit_Lockheed-Martin.jpg"; //判断一下链接是否存在,不存在,直接结束 //获取目的地路径,通过file建立链接(目的地) String str1 = "f:\\TestEight"; File file = new File(str1); //判断一下链接是否存在,不存在则创建文件夹 if(!file.exists()){ file.mkdirs(); } //通过获取文件名称及上传文件的位置,构建新的路径 String filename = str1 + File.separator + System.currentTimeMillis() + str.substring(str.lastIndexOf(".")); // System.out.println("str="+str); InputStream is = null; OutputStream os = null; //获取输入输出流 try { is = new FileInputStream(str); os = new FileOutputStream(filename); } catch (FileNotFoundException e){ e.fillInStackTrace(); } //具体的上传操作 byte[] bytes = new byte[1024]; int temp = 0; while ((temp = is.read(bytes)) != -1){ os.write(bytes, 0, temp); } os.close(); is.close(); } public static void main(String[] args) throws IOException { test01 test1 = new test01(); test1.photo(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本