java 一次性输入与输出_java基本输入与输出

一、构建字符串

一般在同一个线程里面用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();//关闭输出流

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值