java使用stringbuilder读取属性和xml文件

标签 java

我需要读取一组 xml 和属性文件并解析数据。目前我正在使用输入流 ans 字符串生成器来执行此操作。但这不会以与输入文件相同的方式创建文件。我不想删除空格和新行。我如何实现这一目标。

is = test.getInputStream();
br = new BufferedReader(new InputStreamReader(is));
String line5;
StringBuilder sb5 = new StringBuilder();
while ((line5 = br.readLine()) != null) {
    sb5.append(line5);
} 
String s = sb5.toString();

我的输出是:

#test 123 #test2 345

预期输出为:

#test
123
#test2
345

有什么想法吗?谢谢

最佳答案

br.readLine() 消耗换行符,您需要在附加行后将它们添加到您的 StringBuilder。

is = test.getInputStream();
br = new BufferedReader(new InputStreamReader(is));
String line5;
StringBuilder sb5 = new StringBuilder();
while ((line5 = br.readLine()) != null) {
    sb5.append(line5);
    sb5.append("\n");
}

如果您想要一个极其简单的解决方案来将文件读取为字符串,Apache Commons-IO有执行此类任务的方法 ( org.apache.commons.io.FileUtils )。

FileUtils.readFileToString(File file, String encoding);

关于java使用stringbuilder读取属性和xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11618245/

相关文章:

java - hibernate validator 4+。获取与类关联的所有约束

java - 如何键入字符串内容 :encoded = "Hello"; in java?

java - Java 中的自动运行时性能回归测试

java - Java 中的 HTML 表单处理

java - PKCS12 keystore 和 PKCS11 keystore 有什么区别?

java - 编译我的第一个 java 应用程序时出现问题

java - 将网络摄像头视频流式传输到 AWS Kinesis?

java - 在 JOptionPane 中打印二维数组

java - 如何获取方法作为返回值?

java - 使用 Gradle 或 Maven 时 Eclipse 构建错误?