从从 zip 文件读取的 XML 文件中删除空格
Remove whitespaces from XML file read from a zip file
我正在阅读存储在 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());
}
trim() 将删除任何前导或尾随空格,但我认为您不能将 trim 命令与 System.out.println 结合使用。这会捕获 trim 命令的结果吗?
您尝试过以下方法吗?
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);
这应该可以解决您的问题。
打开 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 文件。我需要删除空格,但似乎没有任何效果。这是我所拥有的,但是 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());
}
trim() 将删除任何前导或尾随空格,但我认为您不能将 trim 命令与 System.out.println 结合使用。这会捕获 trim 命令的结果吗?
您尝试过以下方法吗?
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);
这应该可以解决您的问题。 打开 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);
}
}
}