`

使用stringBuffer和StringBuilder拼串要注意的问题

    博客分类:
  • java
阅读更多

           今天在和同事排除一个问题的时候发现,从ftp上下载下来一个文件,写到本地后会多加一个换行,这样会导致md5值发生变化。然后到各个地方去排除问题,最后发现是以前写的程序的一个问题,将这个程序贴在这个地方.


/**
	 * 获取类路径文件内容
	 * 
	 * @param filePath
	 * @return
	 */
	public static String getContentFromClassPath(String filePath) {
		InputStream is = null;
		try {
			is = new ClassPathResource(filePath).getInputStream();

			@SuppressWarnings("unchecked")
			List<String> sqlLines = IOUtils.readLines(is, "UTF-8");
			StringBuilder builder = new StringBuilder();
			for (String line : sqlLines) {
				builder.append(line).append("\n");
			}
			return builder.toString();
		} catch (IOException e) {
			throw new RuntimeException(e);
		} finally {
			IOUtils.closeQuietly(is);
		}
	}



           其实在使用StringBuffer和StringBuilder下面拼字符串的时候,有时候是用逗号或者什么字符分割,会多出来一个,一般是要将最后一个删除,修正的程序如下:


/**
	 * 获取类路径文件内容
	 * 
	 * @param filePath
	 * @return
	 */
	public static String getContentFromClassPath(String filePath) {
		InputStream is = null;
		try {
			is = new ClassPathResource(filePath).getInputStream();

			@SuppressWarnings("unchecked")
			List<String> sqlLines = IOUtils.readLines(is, "UTF-8");
			StringBuilder builder = new StringBuilder();
			for (String line : sqlLines) {
				builder.append(line).append("\n");
			}
			if(builder.length() > 0){
				builder.deleteCharAt(builder.length() -1);
			}
			return builder.toString();
		} catch (IOException e) {
			throw new RuntimeException(e);
		} finally {
			IOUtils.closeQuietly(is);
		}
	}
分享到:
评论

相关推荐

    String StringBuffer和StringBuilder区别之源码解析

    此外,我们还需要注意到,String类的字符串是不可变的,而StringBuffer和StringBuilder类的字符串可以被修改。这意味着,在使用String类时,我们需要小心地处理字符串的修改操作,以免出现意外的结果。 我们可以...

    String及StringBuffer和StringBuilder的区别

    String、StringBuffer 和 StringBuilder 是 Java 语言中三种不同类型的字符串处理方式,它们之间存在着明显的性能和线程安全性差异。 String String 类型是不可变的对象,每次对 String 对象进行改变时都会生成一...

    String ,StringBuffer与StringBuilder

    在 Java 中,String, StringBuffer 和 StringBuilder 三个类都是用于字符操作的,但它们之间有着很大的区别。 首先,String 是不可变类,意味着一旦创建了 String 对象,就不能修改它的值。每次对 String 对象的...

    String、StringBuffer、StringBuilder的使用方法

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`是处理字符串的三个重要类,它们各自有特定的使用场景和优缺点。理解它们的差异对于编写高效的代码至关重要。 **String类** `String`是不可变的类,...

    String、StringBuilder和StringBuffer的区别

    在Java编程语言中,String、StringBuilder和StringBuffer都是用来处理字符串的类,它们之间存在一些重要的区别,主要涉及到性能和线程安全性。 首先,`String`类代表的是字符串常量,一旦创建,其内容就不能改变。...

    StringBuffer 和 StringBuilder 类

    在Java编程中,当我们需要对字符串进行多次修改时,StringBuffer和StringBuilder类成为首选。这两个类提供了一种高效且灵活的方式来处理字符串,与不可变的String类相比,它们能避免创建大量未使用的对象,从而提高...

    String-StringBuffer-StringBuilder

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`都是用来处理字符串的类,但它们之间存在显著的差异,主要体现在性能、线程安全性和使用场景上。 首先,`String`是最基本的字符串类,它代表的是不可...

    String、StringBuffer与StringBuilder之间区别

    String:字符串常量  StringBuffer:字符创变量  StringBuilder:字符创变量  从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段...

    Java中String,StringBuffer与StringBuilder的区别

    最后,让我们总结一下 Java 中 String, StringBuffer 与 StringBuilder 三种字符串类型的区别和用法。String 类型是不可变的对象,性能不好,适合不需要修改的字符串对象。StringBuffer 类型是可变的对象,性能好,...

    StringBuffer & StringBuilder 源码分析.docx

    StringBuffer 和 StringBuilder 是 Java 语言中两个常用的字符串操作类,它们都是 CharSequence 接口的实现类,并且都继承了 AbstractStringBuilder 类。下面是对这两个类的源码分析。 首先,StringBuffer 是线程...

    面试题java StringBuffer和StringBuilder类常见操作和用法

    总的来说,理解和熟练使用StringBuffer和StringBuilder类对于编写高效的Java代码至关重要,特别是在处理大量字符串操作或构建动态字符串时。根据实际需求选择合适的类,可以有效地优化程序性能。

    string,stringbuffer,stringbuilder

    string,stringbuffer,stringbuilder

    你知道String、StringBuffer和StringBuilder的区别吗

    在Java编程语言中,String、StringBuffer和StringBuilder都是用来处理字符串的重要类,它们各自具有不同的特性和使用场景。下面将详细解析这三个类的区别。 首先,`String`类是最基础的字符串处理类,它被设计为不...

    Java StringBuffer & StringBuilder.pdf

    在Java编程语言中,`StringBuffer` 和 `StringBuilder` 是两个重要的类,它们主要用于处理可变的字符串。这两个类在很多方面都非常相似,但存在一些关键的区别。 **一、StringBuffer和StringBuilder的区别** 1. **...

    string,stringBuffer,stringBuilder

    string,stringBuffer,stringBuilder

    StringBuffer、StringBuilder、String

    在Java中,有几种不同的方式可以用来创建和修改字符串,其中最常用的是`String`、`StringBuffer`和`StringBuilder`。本文将详细介绍这三种类型的字符串及其区别,特别是`StringBuffer`和`StringBuilder`之间的差异。...

    《剑指offer》Java-String、StringBuffer 和 StringBuilder 的区别.pdf

    在Java编程语言中,String、StringBuffer和StringBuilder都是用来处理字符串的对象,但它们之间存在显著的区别。String是最常见的字符串类型,它的特点是不可变性。这意味着一旦一个String对象被创建,就不能进行...

    String&StringBuffer&StringBuilder三者之间的区别-经典解析.doc

    在Java编程语言中,String、StringBuffer和StringBuilder都是用来处理字符串的重要类,它们各自有特定的使用场景和特性。理解这三个类的区别对于任何Java开发者,无论是初学者还是经验丰富的程序员,都是非常重要的...

Global site tag (gtag.js) - Google Analytics