cnelkj
2017-04-28 09:53
采纳率: 100%
浏览 2.1k
已采纳

新人求助 java for循环生成多个文件,执行到一半卡住不执行的问题

新人求助 java 使用for循环生成多个文件,数量较多已经过千了,方法执行的到一半就卡住了,
数量较少的话完全可以生成完,该关闭的流都已经关闭了,求问解决办法

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 北海若S 2017-04-28 10:28
    已采纳

    我这里没有问题啊……我怀疑不是生成文件的问题
    刚刚进行了20000个文件的测试如下

     import java.io.*;
    
    public class Main {
        public static void main(String[] args)
        {
            for(int i=0; i<20000; i++)
            {
                try
                {
                    FileOutputStream file = new FileOutputStream("D:/TestOutput/" + i);
                    for (int j = 0; j < 20; j++) {
                        file.write((int)(Math.random() * 26 + 64));
                    }
                    file.close();
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
    
    }
    

    图片说明

    已采纳该答案
    打赏 评论
  • devmiao 2017-04-28 10:34

    可以看下是不是磁盘写满了。

    打赏 评论
  • Coderlis 2017-04-28 14:27

    首先,看下是不是代码原因,如果确认排除不是代码原因的话,再次查看磁盘空间大小,如果还不行,请@我,然后贴出你的代码

    打赏 评论
  • 低调的洋仔 2017-04-28 14:28

    一个文件夹里面的文件是受限制的,不是无限的,注意

    打赏 评论
  • zc牧码人 2017-04-29 00:34

    写个日志嘛!循环走日志 到时候也好定位

    打赏 评论
  • Nolanamy 2017-05-02 06:07

    在FAT32文件格式下一个文件夹下面最多能放65535个文件。
    在NTFS文件格式下一个文件家下面可以存放4294967295个文件

    打赏 评论
  • cnelkj 2017-05-07 14:12

    不好意思 谢谢各位回答的网友 这几天工作忙没及时登录 问题我已经自己解决了 分数就先给 北海若S

    打赏 评论

相关推荐 更多相似问题