一、构建字符串

一般在同一个线程里面用StringBuilder,在不同的线程中构建字符串用StringBuffer.这两个对象构建新字符串时比用“+”来连接字符串效率高(因为“+”每次连接一个字符串都会创建一个新的字符串,比较费时)。

步骤:

1、StringBuilder builder = new StringBuilder();

2、builder.append(str1);

3、String newString = builder.toString();//将StringBuilder中缓存的字符转化为字符串

 

二、从控制台读取用户输入

一般用到的是Scanner类,如果要读入密码,要用到Console类。

步骤:

1、//创建一个Scanner对象,并且该对象与System.in关联起来

Scanner in = new Scanner(System.in);

2、String name = in.nextLine();//还有其他很多读取方法

 

三、文件输入输出

文件输入用到Scanner类,文件输出用到PrintWriter类。

步骤:输入Scanner in = new Scanner(Paths.get(文件绝对路径));

输出: PrintWriter out = new PrintWreter("文件绝对路径");

out.println();//这里的输出方法和System.out一样

out.flush();//清空缓冲区

out.close();//关闭输出流

 

示例代码一:

public class InputTest {

	public static void main(String[] args) {
		
		//创建一个Scanner对象,并且该对象与System.in关联起来
		Scanner in = new Scanner(System.in);
		
		//输出一行语句提示用户输入姓名,在用户输入之后,读取该输入
		System.out.println("Please input your name:");
		String name = in.nextLine();
		
		//要求用户输入年龄
		System.out.println("Please input your age:");
		int age = in.nextInt();
		
		//输出用户的信息
		System.out.println("Hello,"+name+".You will be "+(age+1)+" years old next year!");

	}

}

  

示例代码二:

public class FileInputTest {

	public static void main(String[] args) throws IOException {
	
		//读入一个文件input.txt
		Scanner in = new Scanner(Paths.get("F:\\install\\安卓ADT\\adt-bundle-windows-x86_64-20131030\\eclipse\\workspace\\FileInputTest\\src\\input.txt"));
		
		//读取文件中的数据
		String str1 = in.nextLine();
		int int1 = in.nextInt();
		String str2 = in.next();
		String str3 = in.next();
		
		//利用StringBuilder构建新字符串
		StringBuilder builder = new StringBuilder();
		builder.append(str1);
		builder.append("\r\n");//添加一个换行
		builder.append(int1);
		builder.append("\r\n");
		builder.append(str2);
		builder.append(" ");
		builder.append(str3);
		String newString = builder.toString();//将StringBuilder中缓存的字符转化为字符串
	
		//创建一个文件输出对象
		PrintWriter outtofile = new PrintWriter("F:\\install\\安卓ADT\\adt-bundle-windows-x86_64-20131030\\eclipse\\workspace\\FileInputTest\\src\\output.txt");
	    
        //将newString打印到文件output.txt中
        outtofile.print(newString);  
        outtofile.flush();//清空缓冲区
        outtofile.close();//关闭输出流
	}

}