2020/4/11java学习日记

2020/4/11java学习日记

今日复习:

  1. 复制文本的五种方式
    第一种:FWFR-一次读取一个字符
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

//复制文本第一种方式:FWFR-一次读取一个字符
public class IOpractise01 {

	public static void main(String[] args) throws IOException {
		
		//创建输入流对象
		FileReader fr=new FileReader("b.txt");
		//创建输出流对象
		FileWriter fw=new FileWriter("sb.txt");
		
		int i;
		while((i=fr.read())!=-1){
			fw.write(i);
		}
		
		fw.close();
		fr.close();
		
	}
}

第二种:FWFR-一次读取一个字符数组

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

//复制文本第二种方式:FWFR-一次读取一个字符数组
public class IOpractise01 {

	public static void main(String[] args) throws IOException {
		
		//创建输入流对象
		FileReader fr=new FileReader("b.txt");
		//创建输出流对象
		FileWriter fw=new FileWriter("sb.txt");
		
		char[]chs=new char[1024];
		int i;
		
		while((i=fr.read(chs))!=-1){
			fw.write(chs,0,i);
		}
		
		fw.close();
		fr.close();
		
	}
}

第三种:BWBR-一次读取一个字符

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

//复制文本第三种方式:BWBR-一次读取一个字符
public class IOpractise01 {

	public static void main(String[] args) throws IOException {
		
		//创建缓冲流输入流对象
		BufferedReader br=new BufferedReader(new FileReader("b.txt"));
		//创建缓冲流输出流对象
		BufferedWriter bw=new BufferedWriter(new FileWriter("sb.txt"));
		
		int i;
		
		while((i=br.read())!=-1){
			
			bw.write(i);
			
		}
		
		bw.close();
		br.close();
		
	}
}

第四种:BWBR-一次读取一个字符数组

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

//复制文本第四种方式:BWBR-一次读取一个字符数组
public class IOpractise01 {

	public static void main(String[] args) throws IOException {
		
		//创建缓冲流输入流对象
		BufferedReader br=new BufferedReader(new FileReader("b.txt"));
		//创建缓冲流输出流对象
		BufferedWriter bw=new BufferedWriter(new FileWriter("sb.txt"));
		
		char[]chs=new char[1024];
		int i;
		
		while((i=br.read(chs))!=-1){
			
			bw.write(chs,0,i);
			
		}
		
		bw.close();
		br.close();
		
	}
}

第五种:BWBR-一次读取一行

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

//复制文本第五种方式:BWBR-一次读取一行
public class IOpractise01 {

	public static void main(String[] args) throws IOException {
		
		//创建缓冲流输入流对象
		BufferedReader br=new BufferedReader(new FileReader("b.txt"));
		//创建缓冲流输出流对象
		BufferedWriter bw=new BufferedWriter(new FileWriter("sb.txt"));
		
		String i;
		
		while((i=br.readLine())!=null){
			
			bw.write(i);
			bw.newLine();
			bw.flush();
		}
		
		bw.close();
		br.close();
		
	}
}

  1. 把文本文件中的数据读取到集合
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class IOpractise02 {

	public static void main(String[] args) throws IOException {
		
		//创建缓冲流输入对象
		BufferedReader br =new BufferedReader(new FileReader("s.txt"));
		//创建集合
		ArrayList<String> al=new ArrayList();
		
		String a;
		while((a=br.readLine())!=null){
			
			al.add(a);
			
		}
		
		for(int i=0;i<al.size();i++){
			
			System.out.println(al.get(i));
		}
		
		br.close();
		
	}
}

  1. 改进昨日把集合中的学生信息写到文本文件中;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

import axing06.al;

public class studentdemo {
	public static void main(String[] args) throws IOException {
		
		//创建缓冲流输出对象
		BufferedWriter bw=new BufferedWriter(new FileWriter("xx.txt"));
		//创建学生类集合
		ArrayList<student>al=new ArrayList<student>();
		
		shuru(al);
		shuru(al);
		shuru(al);
		
		for(int x=0;x<al.size();x++){
			bw.write(al.get(x).getSid()+"\t");
			bw.write(al.get(x).getName()+"\t");
			bw.write(al.get(x).getAge()+"\t");
			bw.write(al.get(x).getAddress()+"\t");
			bw.newLine();
		}
		
		bw.close();
			
			
		}
	
	
	
	public  static void shuru(ArrayList<student> al){
		String sid;
		Scanner sc=new Scanner(System.in);
		while(true){
			System.out.println("请输入学号");
			sid=sc.nextLine();
			boolean flag=false;
			
			for(int i=0;i<al.size();i++){
				
				student s=al.get(i);
				
				if(s.getSid().equals(sid)){
					flag=true;
					break;
				}
			}
		
			if(flag==true){
				System.out.println("您输入的学号已被占用,请重新输入");
			}else{
				break;
			}
		}
		
		System.out.println("请输入姓名");
		String name=sc.nextLine();
		System.out.println("请输入年龄");
		String age=sc.nextLine();
		System.out.println("请输入籍贯");
		String address=sc.nextLine();
		
		student s=new student();
		s.setSid(sid);
		s.setName(name);
		s.setAge(age);
		s.setAddress(address);
		
		al.add(s);
		}
	}

今日学习:

  1. 把文本中的数据读取到集合中并遍历
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class studentdemo02 {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br=new BufferedReader(new FileReader("xx.txt"));
		ArrayList<student> al=new ArrayList();
		
		String line;
		while((line=br.readLine())!=null){
			String[] spt=line.split(",");
			student s=new student();
			
			s.setSid(spt[0]);
			s.setName(spt[1]);
			s.setAge(spt[2]);
			s.setAddress(spt[3]);
			
			al.add(s);
		}
		
		System.out.println("学号\t姓名\t年龄\t居住地");
		
		for(int x=0;x<al.size();x++){
			
			System.out.println(al.get(x).getSid()+"\t"+al.get(x).getName()+"\t"+al.get(x).getAge()+"\t"+al.get(x).getAddress());
		
		}
		
		br.close();
		
	}
	
}

  1. 学生信息管理系统IO版
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class suidentdemo2 {

	public static void main(String[] args) throws IOException  {
		
		
		ArrayList<student>array=new ArrayList<student>();
		
		readdate(array);
		while(true){
				
				System.out.println("欢迎进入学生管理系统");
				System.out.println("输入1,进入查询学生信息功能");
				System.out.println("输入2,进入添加学生信息功能");
				System.out.println("输入3,进入删除学生信息功能");
				System.out.println("输入4,进入修改学生信息功能");
				System.out.println("输入5,退出系统");
				System.out.println("请输入您的选择");
				Scanner sc=new Scanner(System.in);
				String a=sc.nextLine();
				switch(a){
				case "1":
					zhanshiquanbuxuehao(array);
						break;
				case "2":
					tianjia(array);
						break;
				case "3":
					shanchu(array);
						break;
				case "4":
					updatestudent(array);
						break;
				case "5":
					System.out.println("感谢您的使用");
					System.exit(0);
						break;
				default:
					System.out.println("输入错误,请重新输入");
						break;
				}
		}
	}
				
	
	
	public static void tianjia(ArrayList<student> array) throws IOException {
		
		
		BufferedWriter bw=new BufferedWriter(new FileWriter("studentIO.txt"));
		
		String sid;
		Scanner sc=new Scanner(System.in);
		while(true){
			System.out.println("请输入学号");
			sid=sc.nextLine();
			int i=-1;
			for(int x=0;x<array.size();x++){
				student s=array.get(x);
				if(s.getSid().equals(sid)){
					i=x;
					break;
				}
			}
			
			
			if(i==-1){
				break;
			}else{
				System.out.println("您输入的学号已被占用,请重新输入");
			}
		}
		
		System.out.println("请输入姓名");
		String name=sc.nextLine();
		System.out.println("请输入年龄");
		String age=sc.nextLine();
		System.out.println("请输入籍贯");
		String address=sc.nextLine();
		
		student s=new student();
		s.setSid(sid);
		s.setName(name);
		s.setAge(age);
		s.setAddress(address);
		
		array.add(s);
		System.out.println("添加成功");
		

		writedate(array);
		
		bw.close();
	}

	public static void updatestudent(ArrayList<student> array) throws IOException{
		
		BufferedWriter bw=new BufferedWriter(new FileWriter("studentIO.txt"));
		
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入需要修改的学号");
		String sid=sc.nextLine();
		int i=-1;
		for(int x=0;x<array.size();x++){
			student s=array.get(x);
			if(s.getSid().equals(sid)){
				i=x;
				break;
			}
		}
			if(i==-1){
				System.out.println("未能查找到您输入的学号,请重新输入");
			}else{
				System.out.println("请输入新的姓名");
				String name=sc.nextLine();
				System.out.println("请输入新的年龄");
				String age=sc.nextLine();
				System.out.println("请输入新的籍贯");
				String address=sc.nextLine();
				
				student s=new student();
				s.setSid(sid);
				s.setName(name);
				s.setAge(age);
				s.setAddress(address);
				array.set(i, s);
			}
			
			writedate(array);
			
			bw.close();
		}
		
	public static void shanchu(ArrayList<student> array) throws IOException{
		
		BufferedWriter bw=new BufferedWriter(new FileWriter("studentIO.txt"));
		
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入您要删除的学号");
		String xh=sc.nextLine();
		
		int index=-1;
		for(int x=0;x<array.size();x++){
			
			student s=array.get(x);
			if(s.getSid().equals(xh)){
				index=x;
				break;
			}
		}
			if(index!=-1){
				array.remove(index);
				System.out.println("删除成功");
			}else{
				System.out.println("没有查找到您要删除的学号,请重新输入");
			}
			
			writedate(array);
		
		bw.close();
	}
	
	public static void zhanshiquanbuxuehao(ArrayList<student> array) throws IOException{
		
		if(array.size()==0){
			System.out.println("当前没有学生信息,请重新输入");
			return;
		}
		
		for(int x=0;x<array.size();x++){
			System.out.println("学号\t姓名\t年龄\t籍贯");
			String a=array.get(x).getSid();
			String b=array.get(x).getName();
			String c=array.get(x).getAge();
			String d=array.get(x).getAddress();
			System.out.println(a+"\t"+b+"\t"+c+"\t"+d);
		}
		
		
	}
	
	public static void readdate(ArrayList<student> array) throws IOException{
		
		BufferedReader br=new BufferedReader(new FileReader("studentIO.txt"));
		
		String a;
		while((a=br.readLine())!=null){
			student s=new student();
			String []spt=a.split("\t");
			s.setSid(spt[0]);
			s.setName(spt[1]);
			s.setAge(spt[2]);
			s.setAddress(spt[3]);
			
			array.add(s);
		}
		br.close();
	}

	public static void writedate(ArrayList<student> array) throws IOException{
		
		BufferedWriter bw=new BufferedWriter(new FileWriter("studentIO.txt"));
		for(int x=0;x<array.size();x++){
			bw.write(array.get(x).getSid()+"\t");
			bw.write(array.get(x).getName()+"\t");
			bw.write(array.get(x).getAge()+"\t");
			bw.write(array.get(x).getAddress()+"\t");
			bw.newLine();
		}
		bw.close();
	}
}

今日遗憾:
fileName还是没搞懂;
今日心得:
写代码不能想着就为这一次任务使用,要把代码方法化。
嘿嘿嘿,不看老师教就能把学生信息管理系统IO版写出来,真的是成就感炸裂!过程中遇到好多次问题,但是都一个一个找到原因并且解决了,好喜欢这种感觉哈哈哈,虽然花的时间比较多,从七点一直到九点半,但是who care,一步一个脚印!我一定可以学好Java!
缺点:
拿到一个代码任务,会愣住,不知道该怎么写,我觉得原因主要在于我写代码时思路不清晰,基础不牢,我现在虽然能把老师让完成的任务完成,但是还是感觉自己是死记硬背的成分偏多,要牢牢掌握每种代码的功能和使用范围,下次写的时候可以在纸上先写思路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值