Java学习--输入输出

Java学习–输入输出

输出

输出比较简单,用System.out.println,System.out.print。
System.out.printf格式化输出:

System.out.printf("%8.2f",x);
//8个字符宽度,两位小数
System.out.printf("Hello, %s, Next year, you'll be %d", name, age);
//f浮点数,s字符串,d十进制整数,x十六进制,o八进制,e指数浮点数,c字符
//t日期,后面跟不同字母输出不同内容
System.out.printf("%1$s %2$tB %2$te, %2$tY", "Due date:", new Date())//1代表第一个参数(参数索引),$表示结束
//从1开始,避免与0混淆(前面补0)
输入

读取“标准输入流”System.in首先需要构造一个与“标准输入流”System.in关联的Scanner对象。
Scanner类定义在java.util包中,需要使用:

import java.util.*;
Scanner in = new Scanner(System.in);
System.out.print("What is your name? ");
String name = in.nextLin();
//读取一行
String firstName = in.next();
//读取一个单词,以空格为分隔
System.out.print("How old are you? ");
int age = in.nextInt();
//读取一个整数
double tmp = in.nextDouble();
//读取一个双精度浮点数

Scanner类是屏幕可见的,如果涉及到密码输入,应该使用Console类(Console类对应控制台中的输入输出,在IDE中会报错):

//Console类必须每次读取一行,不如Scanner方便
Console cons = System.console();
String username = cons.readLine("User name: ");
char[] passwd = cons.readPassword("Password: ");
/*
安全起见,返回的密码放到字符数组中,而不是字符串中,在处理完成后,
应当用其他值填充覆盖数组元素。
*/
文件输入输出
文件输入

文件输入需要构造一个Scanner对象。

Scanner in = new Scanner(Path.of("myfile.txt"), StandardCharset.UTF_8);
String myPath = "c:\\mydirectory\\myfile.txt";

如果:

Scanner in = new Scanner("myfile.txt");
//Scanner会将参数看成包含10个字符的字符串

之后in对象可以用Scanner的各种方法对文件进行读取。

文件输出

文件输出需要构造一个PrintWriter对象,提供文件名和编码。

PrintWriter out = new PrintWriter("myfile.txt", StandardCharset.UTF_8);

之后out对象可以像使用System.out使用print等方法。

重定向
java MyProg < myfile.txt > output.txt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值