• Java 去txt文件的空格、制表符、空格符


     1     /**
     2      * txt文档去空格
     3      * @param url
     4      */
     5     public void test(String url) {
     6         try {
     7             File srcFile = new File(url);
     8             boolean b = srcFile.exists();
     9             //判断是否是路径是否存在,是否是文件夹
    10             if (b && srcFile.isDirectory()) {
    11                 File[] file = srcFile.listFiles();
    12                 if (file.length == 0) {
    13                     System.out.println("文件夹内不存在文件!");
    14                     System.exit(0);
    15                 }
    16                 ;
    17                 for (int i = 0; i < file.length; i++) {
    18                     //file[i]就是循环出来的文件夹里的文件。然后用下面的方法读它。
    19                     //判断是否是TXT文件
    20                     if (!file[i].getName().endsWith("txt")) {
    21                         System.out.println(file[i].getName() + "不是TXT文件!");
    22                         continue;
    23                     }
    24                     //打开待处理文件,参数是字符串,是个命令
    25                     Runtime.getRuntime().exec("notepad " + file[i].getAbsolutePath());
    26                     String str = null;
    27                     //空格、制表符正则表达式,s匹配任何空白字符,包括空格、制表符、换页符等
    28                     String REGEX = "\s+";
    29                     //读入字节流,并且设置编码为UTF-8
    30                     InputStreamReader stream = new InputStreamReader(new FileInputStream(file[i]), "UTF-8");
    31                     //构造一个字符流的缓存器,存放在控制台输入的字节转换后成的字符
    32                     BufferedReader reader = new BufferedReader(stream);
    33                     //建立将要输出的文件和文件名
    34                     File newFile = new File(file[i].getParent(), "new" + file[i].getName());
    35                     //写入字节流
    36                     OutputStreamWriter outstream = new OutputStreamWriter(new FileOutputStream(newFile), "UTF-8");
    37                     BufferedWriter writer = new BufferedWriter(outstream);
    38                     //创建Pattern对象,处理正则表达式
    39                     Pattern patt = Pattern.compile(REGEX);
    40                     while ((str = reader.readLine()) != null) {
    41                         //先处理每一行的空白字符
    42                         Matcher mat = patt.matcher(str);
    43                         str = mat.replaceAll("");
    44                         //如果不想保留换行符直接写入就好,不用多此一举
    45                         if (str == "") {
    46                             continue;
    47                         } else {
    48                             //如果想保留换行符,可以利用str+"
    " 来在末尾写入换行符
    49                             writer.write(str);
    50                         }
    51                     }
    52                     writer.close();
    53                     reader.close();
    54                     //打开修改后的文档
    55                     Runtime.getRuntime().exec("notepad " + newFile.getAbsolutePath());
    56                 }
    57                 System.out.println("文件修改完成!");
    58             } else {
    59                 System.out.println("文件夹路径不存在或输入的不是文件夹路径!");
    60                 System.exit(0);
    61             }
    62         } catch (IOException e) {
    63             System.out.println(e);
    64         }
    65     }
  • 相关阅读:
    CentOS 8.2上安装Cassandra Web部署
    CentOS 8.2上安装Apache Cassandra 3.11.9
    CentOS 8.2使用pgAdmin安装PostgreSQL 13.1
    windows 服务器报错处理,TLS升级为1.2
    网站跳转index.html
    安装fail2ban,防止ssh爆破及cc攻击
    服务器数据盘挂载
    2条命令在centos7.5中安装谷歌浏览器
    部署安装python3.7
    部署安装snort--入侵检测工具
  • 原文地址:https://www.cnblogs.com/sunxun001/p/13042462.html
Copyright © 2020-2023  润新知