【问题标题】:Split a text file into blocks将文本文件拆分为块
【发布时间】:2015-04-08 16:48:22
【问题描述】:

我需要读取一个文本文件,并将文本分成6个字符(包括空格)的块,在文本末尾填充零以满足要求。

我尝试过这样做,这就是我所做的。

File file = new File("Sample.txt");
    String line;
    try {
    Scanner sc = new Scanner(file);
    while(sc.hasNext()){
        line = sc.next();
        int chunk = line.length();
        int block_size=6;
        if((chunk%block_size) != 0)
        {
              StringBuilder sb = new StringBuilder(line);
            int val = chunk%block_size;
            for(int i=0; i<val; i++){
                sb.append(" ");
            }
           line = new String(sb.toString());
        }
        int group = line.length() / block_size;
        String[] b = new String[group];
        System.out.println(line);
        System.out.println(chunk);
        int j =0;
        for(int i=0; i<group;i++){
            b[i] = line.substring(j,j+block_size);
            j += block_size;
    }
        System.out.println("String after spliting is: ");
        for(int i=0; i<group;i++){
            System.out.println(b[i]);
        }

        }
    }

现在,当输入文件中的文本在单词之间没有空格时,这可以正常工作。但是当我添加空格时,我会得到不同的输出。我被困在这一点上。有什么相同的建议吗?

【问题讨论】:

    标签: java string file text split


    【解决方案1】:

    我不想为您编写解决方案,但我建议您使用BufferedReaderFileReader 并使用Reader.read(buf) 可能更容易完成其中 buf 是一个字符[6];

    【讨论】:

      猜你喜欢
      • 2017-07-13
      • 1970-01-01
      • 2018-03-22
      • 2012-07-14
      • 1970-01-01
      • 2014-12-07
      • 2021-01-12
      • 2013-04-22
      • 1970-01-01
      相关资源
      最近更新 更多