各位我又来了!!哎!好心酸!我还没注册到三天!!没法登上博客的首页!!心累!!

  1. import java.io.BufferedOutputStream;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileOutputStream;
  8. import java.io.FileReader;
  9. import java.io.FileWriter;
  10. import java.io.IOException;
  11. import java.util.Scanner;
  12.  
  13. public class work2 {
  14.  
  15. static Scanner next = new Scanner(System.in);
  16. /**
  17. * @param args
  18. * @throws IOException
  19. */
  20. public static void main(String[] args) throws IOException {
  21. // TODO Auto-generated method stub
  22. while(true){
  23. System.out.println("请进行以下操作!\n1.注册\t2.登录");
  24. int s = next.nextInt();
  25. switch (s) {
  26. case 1:
  27. Login();
  28. break;
  29. case 2:
  30. Logon();
  31. break;
  32.  
  33. default:
  34. System.out.println("输入错误返回!!");
  35. break;
  36. }
  37. }
  38. }
  39.  
  40. public static String SyIn(){
  41. System.out.println("请输入账号!");
  42. String str = next.next();
  43. System.out.println("请输入密码!");
  44. String str2 = next.next();
  45. return str+" "+str2;
  46. }
  47.  
  48. public static void Logon() throws IOException{
  49. //输入的账号和密码
  50. String accountAndPassWork = SyIn();
  51. //文档该在的位置
  52. FileReader fin = new FileReader("C:\\Users\\wang\\Desktop\\Login.txt");
  53. //字符流输出缓存区
  54. BufferedReader reader = new BufferedReader(fin);
  55. //文档中获取的账号和密码
  56. String gainAccountAndPassWork = null;
  57. //账号 的状态
  58. boolean Y = false;
  59. //让其返回一行一行的字符串
  60. while((gainAccountAndPassWork = reader.readLine())!=null){
  61. //判断字符串和密码加起来是否相同
  62. if(gainAccountAndPassWork.equals(accountAndPassWork)){
  63. System.out.println("登陆成功!");
  64. Y = true;
  65. break;
  66. }else{
  67. Y = false;
  68. }
  69. }
  70. //关闭资源!
  71. reader.close();
  72. //如果状态是没有就不存在
  73. if(Y == false){
  74. System.out.println("该账号不存在或密码错误!!");
  75. }
  76. }
  77.  
  78. public static void Login() throws IOException{
  79. //输入的账号和密码
  80. String accountAndPassWork = SyIn();
  81. //文件的地址
  82. File file = new File("C:\\Users\\wang\\Desktop\\Login.txt");
  83. //判断文件在不在,不在的话创建
  84. if(!file.exists()){
  85. file.createNewFile();
  86. }
  87. //读取文件的内容
  88. FileReader fileReader = new FileReader(file);
  89. //字符流读取缓冲区
  90. BufferedReader bufferR = new BufferedReader(fileReader);
  91. //给字符读取缓冲器返回的字符设为null
  92. String contrast = null;
  93. //阿斯克码表的空格是23
  94. int As = 32;
  95. //将空格转为字符串
  96. String kong = ""+(char)As;
  97. //获取账号密码的截取
  98. String[] Ac = accountAndPassWork.split(kong);
  99. //在这里要有遍历所有的账户的举动
  100. //不断地读取一行一行的字符串
  101. while((contrast = bufferR.readLine())!=null){
  102. //从返回的一行一行的字符串中找取空格并截取
  103. String[] strAll = contrast.split(kong);
  104. //判断账号是否有其相同,如果有就return
  105. if(strAll[0].equals(Ac[0])){
  106. System.out.println("用户名重复");
  107. //关闭资源
  108. bufferR.close();
  109. return;
  110. }
  111. }
  112.  
  113. //字符串流
  114. FileWriter finWriter = new FileWriter("C:\\Users\\wang\\Desktop\\Login.txt",true);
  115. //写入缓冲流
  116. BufferedWriter buffer = new BufferedWriter(finWriter);
  117. //格一行的,换行
  118. buffer.newLine();
  119. //写入账号和密码
  120. buffer.write(accountAndPassWork);
  121. //关闭资源
  122. buffer.close();
  123. System.out.println("注册成功!");
  124. }
  125.  
  126. }

Java中的字符串流的读取和写入(创建文件并判断重复账户)的更多相关文章

  1. java中的缓冲流BufferedWriter和BufferedReader

    java中的缓冲流有BufferedWriter和BufferedReader 在java api 手册中这样说缓冲流: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指 ...

  2. java基础(四):谈谈java中的IO流

    1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类 ...

  3. Java中的IO流,Input和Output的用法,字节流和字符流的区别

    Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...

  4. Java中的IO流(五)

    上一篇<Java中的IO流(四)>记录了一下Properties类,此类不属于IO流,它属于集合框架.接下来说一下IO流中的其它流 一,打印流PrintStream PrintStream ...

  5. Java中的IO流(六)

    上一篇<Java中的IO流(五)>把流中的打印流PrintStream,PrintWriter,序列流SequenceInputStream以及结合之前所记录的知识点完成了文件的切割与文件 ...

  6. Java中的IO流(四)

    上一篇<Java中的IO流(三)>把IO流中的文件及目录操作的对象File类记录了一下,本篇把本不属性IO流但又和IO流有关系的一个对象作一下记录,此对象本属于集合框架里的一个子集,即Pr ...

  7. Java中I/O流之轮换流

    Java 中的轮换流: 非常有用,可以把一个字节流转换成字符流. inputStreamReader, outputStreamReader Demo_1: import java.io.*; cla ...

  8. Java中I/O流之缓冲流

    Java 中的缓冲流: 1. 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法(带缓冲区的,显著减少对 IO 的读写次数,保护硬盘). 2. ...

  9. Java中的IO流之输出流|乐字节

    大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流.   一.输出流 1.抽象类:OutputStream 和 Writer Output ...

随机推荐

  1. 实例:jQuery实现标签切换

    具体实现效果如图: 原理很简单,就是监听鼠标滑动和点击事件.在第一个标签切换的示例中,当鼠标滑过某个标签时,就把class转移到当前标签.这里用到的jQuery方法主要是each()确定当前是哪一个标 ...

  2. [ZHUAN]Flask学习记录之Flask-SQLAlchemy

    From: http://www.cnblogs.com/agmcs/p/4445583.html 各种查询方式:http://www.360doc.com/content/12/0608/11/93 ...

  3. 利用python建表

    (ENV)carlo@ubuntu:~/flasky$ python hello.py shell >>> from hello import db>>> db.d ...

  4. H - A+B for Input-Output Practice (VII)

      Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description You ...

  5. urlconnection.connect()和url.openconnection()的区别

    urlconnect()ion.connect()()方法是抽象的:打开到此 URL 引用的资源的通信链接(如果尚未建立这样的连接). 如果在已打开连接(此时 connect()ed 字段的值为 tr ...

  6. nopcommerce 二次开发

    http://www.cnblogs.com/nopcommerce-b2c/ http://www.nopchina.net/ 数据库结构 http://www.xcode.me/open/docu ...

  7. hdu不要62

    Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来, ...

  8. NSDate 总结日期操作

    IOS Object-c NSDate总结日期操作 //NSDate //1, 创建NSDate对象 NSDate *nowDate = [NSDate date]; NSLog(@"%@& ...

  9. 解决方案-Microsoft Visual Studio 2012 已停止工作

    问题: 根本解决方案: 用管理员模式运行. 找到软件的安装目录 \Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe 然后如何保存管理员权限运行呢? ...

  10. vmware中ubuntu更新内核后无法进入桌面,鼠标“漂移”滑动

    问题背景: 我机子上是在vmware下安装了ubuntu12.04,今天正在ubuntu下工作,结果提示内核有更新,手贱的就点了个OK,开始更新,更新完重启.结果,问题来了,刚开始系统启动,进入系统登 ...