黑马程序员技术交流社区

标题: 系统提示找不到路径 [打印本页]

作者: 吃阁子的猫    时间: 2013-8-19 23:48
标题: 系统提示找不到路径
本帖最后由 吃阁子的猫 于 2013-8-24 11:16 编辑

public static void main(String[] args) throws Exception {
  System.out.println("请输入要分割的文件路径:");
  Scanner sc = new Scanner(System.in);
  File file = new File(sc.nextLine());
  sc.close();
  File fi = new File(".temp");
  fi.mkdir();
  long length = file.length()/5+1;
  FileInputStream fis = new FileInputStream(file);
  for (int i = 1; i < 5; i++) {
   FileOutputStream fos = new FileOutputStream(new File(file,i+""));
   byte[] arr = new byte[1024];
   int len ;
   for (int j = 0; j < length && (len = fis.read())!=-1; j++) {
   
    fos.write(arr,0,len);
   }
   fos.close();
   fis.close();

  }
  file.delete();
  fi.renameTo(file);
  
}
}


作者: 神之梦    时间: 2013-8-20 00:35
哥们,你可以不可以再说详细点你的问题,是神马路径找不到,是你程序里的路径,还是提示你的class路径还是啥的
作者: 吃阁子的猫    时间: 2013-8-20 10:22
Exception in thread "main" java.io.FileNotFoundException: F:\Demo01_File.java\1 (系统找不到指定的路径。)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:165)
        at cn.itcast.text.Test.main(Test.java:19)
我输入时的路径是 F:\Demo01_File.java,但它抛异常的时候表示文件是F:\Demo01_File.java\1,不明白
作者: 白堇翎    时间: 2013-8-20 10:33
本帖最后由 白堇翎 于 2013-8-20 10:38 编辑
  1. FileOutputStream fos = new FileOutputStream(new File(file,i+""));
复制代码
修改为

  1. File newfile = null;//这一行写循环外面
  2. newfile = new File(file,i+"");
  3. newfile.mkdirs();
  4. FileOutputStream fos = new FileOutputStream(newfile+"\\"+i);
复制代码
试试看
作者: 吃阁子的猫    时间: 2013-8-20 12:08
白堇翎 发表于 2013-8-20 10:33
修改为试试看

刚刚试了,还是一样的
作者: 白堇翎    时间: 2013-8-20 12:40
吃阁子的猫 发表于 2013-8-20 12:08
刚刚试了,还是一样的

debug走起





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2