I/O处理小练习--保存用户账号密码

I/O处理小练习--保存用户账号密码

用户输入姓名和密码,将每一个姓名和密码保存到文件中,输入done时程序结束

 1 import java.io.*;
 2 
 3 public class Example {
 4     public static void main(String[] args){
 5         byte[] name=new byte[20];
 6         byte[] password=new byte[20];
 7         File file=new File("word.txt");
 8         try {
 9             FileOutputStream out=new FileOutputStream(file);
10             while(true){
11             System.out.println("请输入用户名:");
12             System.in.read(name);
13             if("done".equals(new String(name, 0, 4))){
14                 break;
15             }
16             System.out.println("请输入密码:");
17             System.in.read(password);
18             for(int i=0;name[i]!=0;i++){
19                 out.write(name[i]);
20             }
21             for(int i=0;password[i]!=0;i++){
22                 out.write(password[i]);
23             }
24             }
25             out.close();
26         } catch (IOException e) {
27             // TODO Auto-generated catch block
28             e.printStackTrace();
29         }
30         
31         
32     }
33     
34 }

需要注意的几个的地方:

1.FileOutputStream一定要放在循环之外,否则这个文件的内容会一直覆盖,最后什么也存不到

2.判定done的时候,一定要规定长度,要不然这一判断条件不可能成功,有空值

3.name[i]!=0的判定是因为字节数组是已经定义好了长度的,其他地方的空值也会被写入,导致文件内的格式很乱

4.文件输出流的关闭一定要放在while循环之外,提前关闭了就无法写入后面的数据了

运行结果如下:

务实,说实话!
原文地址:https://www.cnblogs.com/xtuxiongda/p/8562871.html