dreammyone
/** 
     * 按行分割文件 
     * @param rows 为多少行一个文件  
     * @param sourceFilePath 为源文件路径  
     * @param targetDirectoryPath 文件分割后存放的目标目录 
     */  
    public void splitDataToSaveFile(int rows, String sourceFilePath,  
            String targetDirectoryPath) {  
        long start1 = System.currentTimeMillis();  
          
        File sourceFile = new File(sourceFilePath);  
        File targetFile = new File(targetDirectoryPath);  
        if (!sourceFile.exists() || rows <= 0 || sourceFile.isDirectory()) {  
            return;  
        }  
        if (targetFile.exists()) {  
            if (!targetFile.isDirectory()) {  
                return;  
            }  
        } else {  
            targetFile.mkdirs();  
        }  
        try {  
  
            InputStreamReader in = new InputStreamReader(new FileInputStream(sourceFilePath),"GBK");  
            BufferedReader br=new BufferedReader(in);  
              
            BufferedWriter bw = null;  
            String str = "";  
            String tempData = br.readLine();  
            int i = 1, s = 0;  
            long start2 = System.currentTimeMillis();  
            while (tempData != null) {  
                str += tempData + "\r\n";  
                if (i % rows == 0) {  
                    bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(   
                            targetFile.getAbsolutePath() + "/" +  sourceFile.getName() +"_" + (s+1) +".csv"), "GBK"),1024);   
                      
                    bw.write(str);  
                    bw.close();  
                      
                    str = "";  
                    start2 = System.currentTimeMillis();  
                    s += 1;  
                }  
                i++;  
                tempData = br.readLine();  
            }  
            if ((i - 1) % rows != 0) {  
                  
                bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(   
                        targetFile.getAbsolutePath() + "/" +  sourceFile.getName() +"_" + (s+1) +".csv"), "GBK"),1024);   
                bw.write(str);  
                bw.close();  
                br.close();  
                  
                s += 1;  
            }  
            in.close();  
              
        } catch (Exception e) {  
        }  
    }  

  

分类:

技术点:

相关文章:

  • 2021-12-14
  • 2021-08-13
  • 2021-12-28
  • 2022-01-01
  • 2021-12-25
  • 2021-09-25
猜你喜欢
  • 2021-12-12
  • 2022-01-01
  • 2021-10-30
  • 2021-12-16
相关资源
相似解决方案