从 zip 文件中读取的 XML 文件中删除空格

Posted

技术标签:

【中文标题】从 zip 文件中读取的 XML 文件中删除空格【英文标题】:Remove whitespaces from XML file read from a zip file 【发布时间】:2015-07-17 09:16:57 【问题描述】:

我正在读取存储在 zip 文件中的 XML 文件。我需要删除空格,但我似乎没有任何效果。这就是我所拥有的,但 trim() 没有做任何事情。

        for (Enumeration e = zip.entries(); e.hasMoreElements(); ) 

            ZipEntry entry = (ZipEntry) e.nextElement();
            InputStream inputStream = zip.getInputStream(entry);
            InputStreamReader inputStreamReader = InputStreamReader(inputStream);  
            char[] buffer = new char[1024];
            while (inputStreamReader.read(buffer, 0, buffer.length) != -1) 

                String str = new String(buffer);

                System.out.println(str.trim());
       

【问题讨论】:

【参考方案1】:

trim() 将删除任何前导或尾随空格,但我认为您不能将 trim 命令与 System.out.println 结合使用。这会捕获修剪命令的结果吗?

您是否尝试过以下方法?

String result = str.trim();
System.out.println(result);

如果这不起作用,那么使用 replaceAll() 怎么样?

String result = str.replaceAll(" ","");
System.out.println(result);

或者,如果它不是一个简单的空格字符,试试这样的方法来删除多个空格?

String result = str.replaceAll("\\s+","");
System.out.println(result);

【讨论】:

谢谢。第三个选项完成了这项工作。 很高兴听到这个消息。感谢您对我在 *** 上的第一篇帖子进行了第一次投票。【参考方案2】:

这应该可以解决您的问题。 打开 zip --> 读取文件 --> 修剪文件。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

/**
 *
 * @author comrench
 */
public class XMLTrim 
    ZipEntry zipEntry;
    Enumeration enumEntries;
    BufferedReader bufferedReader;
    InputStreamReader inputStreamReader;
    ZipFile zip;
    private String line=null;
    public static void main(String[] args)
        XMLTrim xmlTrim= new XMLTrim();
        xmlTrim.trim();
    

    public void trim()
        try             
            Path tempPath=Paths.get("D:\\share\\tmp.zip");
            zip = new ZipFile(tempPath.toFile());
            Enumeration enumEntries= zip.entries();
            while(enumEntries.hasMoreElements())
                zipEntry = (ZipEntry) enumEntries.nextElement();
                readFileContent();
            
         catch (IOException ex) 
            System.out.println("exception ex"+ex);
        
    

    private void readFileContent() 
        try 
            inputStreamReader = new InputStreamReader(zip.getInputStream(zipEntry));
            bufferedReader=new BufferedReader(inputStreamReader);  
            while ((line = bufferedReader.readLine()) != null) 
                System.out.println(line.trim());
            
         catch (IOException e) 
            System.out.println("Exception "+e);
                    
    

【讨论】:

以上是关于从 zip 文件中读取的 XML 文件中删除空格的主要内容,如果未能解决你的问题,请参考以下文章

怎么删除删不掉的文件,删除时提示该文件不在文件夹中

从文件模式为读取的文件流创建存档 .zip

java 下载异地FTP中的zip文件

读取 zip 包中 xml 文件的内容

EXCEL 数据透视表 不可读取

如何读取 XML 文件并删除一组标签