• Java实现按行拆分pdf


    /** 
         * 按行分割文件 
         * @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 + "
    ";  
                    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) {  
            }  
        }  
    

      

  • 相关阅读:
    android中ping命令的实现
    回溯法——求解0-1背包问题
    scanner使用中遇见的问题
    Eddy&#39;s digital Roots
    项目经理注意事项(3)---宏观把控
    Spring IOC容器
    C++对象模型——Template中的名称决议方式 (第七章)
    比赛对手名单
    猴子吃桃问题
    设计模式-单例模式(02)
  • 原文地址:https://www.cnblogs.com/dreammyone/p/7478856.html
Copyright © 2020-2023  润新知