Java处理流之三:标准输入输出流
2021-06-10 06:02
标签:equals puts code 标准 void title NPU tst 登陆 System.in和System.out分别代表了系统标准的输入和输出设备 默认输入设备是键盘,输出设备是显示器 System.out的类型是PrintStream,其h是OutputStream的子类FileOutputStream的子类 练习:把控制台输入的内容写到指定的txt文件中,当接受到字符串exit,就结束程序的运行 在一个txt文件中,写一组用户名和密码,通过控制台输入用户和密码与txt文件中的用户名密码作比较,如果一样就打印登录成功,如果不一致就打印用户名密码错误 Java处理流之三:标准输入输出流 标签:equals puts code 标准 void title NPU tst 登陆 原文地址:https://www.cnblogs.com/kangxihuang/p/14468928.html处理流之三:标准输入输出流
package com.kangkang.IO;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.InputStreamReader;
public class system {
public static void main(String[] args) throws Exception{
// testSystemIn();
testWrite();
}
public static void testSystemIn() throws Exception {
//定义一个字节流,用来接收控制台输入的数据
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
String str = "";
while ((str = br.readLine()) != null) {
if (str == "exit") {
break;
}
System.out.println(str);
}
br.close();
is.close();
}
/**
*把控制台输入的内容写到指定的txt文件中,当接受到字符串exit,就结束程序的运行
*/
public static void testWrite() throws Exception{
//创建一个接受键盘输入数据的输入流
InputStreamReader is = new InputStreamReader(System.in,"UTF-8");
// 把输入流放在缓冲流里
BufferedReader ir = new BufferedReader(is);
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\jave\\untitled\\src\\com\\kangkang\\IO\\t5"));
String line = "";
while((line = ir.readLine()) != null) {
if (line.equals("exit")){
break;
}
//读取的每一行都写到指定的txt中
bw.write(line);
}
bw.flush();
bw.close();
is.close();
}
}
package com.kangkang.IO;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
public class systemTest {
public static void main(String[] args) throws Exception{
/*
在一个txt文件中,写一组用户名和密码,通过控制台输入用户和密码与
txt文件中的用户名密码作比较,如果一样就打印登录成功,
如果不一致就打印用户名密码错误
*/
testUser();
}
public static void testUser() throws Exception{
//从文件当中读取文件内容
BufferedReader br = new BufferedReader(new FileReader("D:\\jave\\untitled\\src\\com\\kangkang\\IO\\User.txt"));
String user, password;
user = br.readLine();
password = br.readLine();
br.close();
// 从控制台输入与文件内容进行比较
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String struser, strpassword;
System.out.println("请输入用户名:");
while ((struser = in.readLine()) != null) {
System.out.println("请输入密码:");
strpassword = in.readLine();
if (struser.equals(user) && strpassword.equals(password)) {
System.out.println("登陆成功,用户名:" + struser + " 密码:" + strpassword);
break;
} else {
System.out.println("登陆失败,用户名:" + struser + " 密码:" + strpassword+"请重新登陆");
System.out.println("请输入用户名:");
}
}
in.close();
}
}