Java中的字符串流的读取和写入(创建文件并判断重复账户)
各位我又来了!!哎!好心酸!我还没注册到三天!!没法登上博客的首页!!心累!!
- import java.io.BufferedOutputStream;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.Scanner;
- public class work2 {
- static Scanner next = new Scanner(System.in);
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
- while(true){
- System.out.println("请进行以下操作!\n1.注册\t2.登录");
- int s = next.nextInt();
- switch (s) {
- case 1:
- Login();
- break;
- case 2:
- Logon();
- break;
- default:
- System.out.println("输入错误返回!!");
- break;
- }
- }
- }
- public static String SyIn(){
- System.out.println("请输入账号!");
- String str = next.next();
- System.out.println("请输入密码!");
- String str2 = next.next();
- return str+" "+str2;
- }
- public static void Logon() throws IOException{
- //输入的账号和密码
- String accountAndPassWork = SyIn();
- //文档该在的位置
- FileReader fin = new FileReader("C:\\Users\\wang\\Desktop\\Login.txt");
- //字符流输出缓存区
- BufferedReader reader = new BufferedReader(fin);
- //文档中获取的账号和密码
- String gainAccountAndPassWork = null;
- //账号 的状态
- boolean Y = false;
- //让其返回一行一行的字符串
- while((gainAccountAndPassWork = reader.readLine())!=null){
- //判断字符串和密码加起来是否相同
- if(gainAccountAndPassWork.equals(accountAndPassWork)){
- System.out.println("登陆成功!");
- Y = true;
- break;
- }else{
- Y = false;
- }
- }
- //关闭资源!
- reader.close();
- //如果状态是没有就不存在
- if(Y == false){
- System.out.println("该账号不存在或密码错误!!");
- }
- }
- public static void Login() throws IOException{
- //输入的账号和密码
- String accountAndPassWork = SyIn();
- //文件的地址
- File file = new File("C:\\Users\\wang\\Desktop\\Login.txt");
- //判断文件在不在,不在的话创建
- if(!file.exists()){
- file.createNewFile();
- }
- //读取文件的内容
- FileReader fileReader = new FileReader(file);
- //字符流读取缓冲区
- BufferedReader bufferR = new BufferedReader(fileReader);
- //给字符读取缓冲器返回的字符设为null
- String contrast = null;
- //阿斯克码表的空格是23
- int As = 32;
- //将空格转为字符串
- String kong = ""+(char)As;
- //获取账号密码的截取
- String[] Ac = accountAndPassWork.split(kong);
- //在这里要有遍历所有的账户的举动
- //不断地读取一行一行的字符串
- while((contrast = bufferR.readLine())!=null){
- //从返回的一行一行的字符串中找取空格并截取
- String[] strAll = contrast.split(kong);
- //判断账号是否有其相同,如果有就return
- if(strAll[0].equals(Ac[0])){
- System.out.println("用户名重复");
- //关闭资源
- bufferR.close();
- return;
- }
- }
- //字符串流
- FileWriter finWriter = new FileWriter("C:\\Users\\wang\\Desktop\\Login.txt",true);
- //写入缓冲流
- BufferedWriter buffer = new BufferedWriter(finWriter);
- //格一行的,换行
- buffer.newLine();
- //写入账号和密码
- buffer.write(accountAndPassWork);
- //关闭资源
- buffer.close();
- System.out.println("注册成功!");
- }
- }
Java中的字符串流的读取和写入(创建文件并判断重复账户)的更多相关文章
- java中的缓冲流BufferedWriter和BufferedReader
java中的缓冲流有BufferedWriter和BufferedReader 在java api 手册中这样说缓冲流: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指 ...
- java基础(四):谈谈java中的IO流
1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类 ...
- Java中的IO流,Input和Output的用法,字节流和字符流的区别
Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...
- Java中的IO流(五)
上一篇<Java中的IO流(四)>记录了一下Properties类,此类不属于IO流,它属于集合框架.接下来说一下IO流中的其它流 一,打印流PrintStream PrintStream ...
- Java中的IO流(六)
上一篇<Java中的IO流(五)>把流中的打印流PrintStream,PrintWriter,序列流SequenceInputStream以及结合之前所记录的知识点完成了文件的切割与文件 ...
- Java中的IO流(四)
上一篇<Java中的IO流(三)>把IO流中的文件及目录操作的对象File类记录了一下,本篇把本不属性IO流但又和IO流有关系的一个对象作一下记录,此对象本属于集合框架里的一个子集,即Pr ...
- Java中I/O流之轮换流
Java 中的轮换流: 非常有用,可以把一个字节流转换成字符流. inputStreamReader, outputStreamReader Demo_1: import java.io.*; cla ...
- Java中I/O流之缓冲流
Java 中的缓冲流: 1. 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法(带缓冲区的,显著减少对 IO 的读写次数,保护硬盘). 2. ...
- Java中的IO流之输出流|乐字节
大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流. 一.输出流 1.抽象类:OutputStream 和 Writer Output ...
随机推荐
- phpcms V9 数据模型基类(转)
转自:http://www.cnblogs.com/Braveliu/p/5100421.html 在学习<phpcms V9首页模板文件解析>的第七步,我们看到content_model ...
- input file文件上传样式
<style> .file-group { position: relative; width: 200px; height: 80px; ...
- PHP 获取目录
取得当前文件名,当前目录,上层目录 文件名 test.php 路径 + 文件名 (要取得 /var/www/test/test.php) echo __FILE__; 文件名 (要取得 te ...
- mysql数据库管理备份运维常用命令
登陆mysql: mysql -u root -p password 远程访问开启((%)表示任何主机连接,可以换固定IP来访问远程连接): GRANT ALL ON *.* TO root@'%' ...
- 学会爱上iOS自动布局(Auto Layout) - 剑尖
本文翻译自Yari Dareglia的LEARN TO LOVE AUTO LAYOUT文章先生们,女士们,让我们以正确的心态开始本教程吧:自动布局就是简单!我花了一段时间来掌握自动布局是如何工作的, ...
- hiho一下103周 平衡树·Treap
平衡树·Treap 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:小Hi,我发现我们以前讲过的两个数据结构特别相似. 小Hi:你说的是哪两个啊? 小Ho:就是二 ...
- Standard Numeric Format Strings
The following table describes the standard numeric format specifiers and displays sample output prod ...
- BZOJ 3575 道路堵塞
Description A国有N座城市,依次标为1到N.同时,在这N座城市间有M条单向道路,每条道路的长度是一个正整数.现在,A国交通部指定了一条从城市1到城市N的路径,并且保证这条路径的长度是所有从 ...
- HashMap通过value反查key
这是今天做了一道字符串的问题,一直MLE,所以想到了减少Map里对应关系数量来降低内存开销.随手谷歌,整理出了如下资料. 如果效率优先的话还是写俩Map吧. import ...
- Kaggle Bike Sharing Demand Prediction – How I got in top 5 percentile of participants?
Kaggle Bike Sharing Demand Prediction – How I got in top 5 percentile of participants? Introduction ...