精华内容
下载资源
问答
  • Properties:属性集合类,是一个可以和IO流结合使用集合类 Properties:可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串 是Hashtable的子类,说明是一个Map集合 此集合没有泛型 1.使用...

    Properties:属性集合类,是一个可以和IO流结合使用的集合类
    Properties:可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串
    是Hashtable的子类,说明是一个Map集合
    此集合没有泛型

    1.使用Hashtable的功能玩一下:

    
    public class PropertiesDemo {
        public static void main(String[] args) {
            Properties pr=new Properties();
    
            pr.put("01","hello");
            pr.put("02","world");
    
            System.out.println(pr);
    
            Set<Object> set=pr.keySet();
            for(Object key:set){
                Object value=pr.get(key);
                System.out.println(key+"="+value);
            }
    
        }
    }
    
    

    结果:
    {01=hello,02=world}
    01=hello
    02=world .

    2.特有功能:

    *public Object setProperty​(String key, String value)//添加元素

    • public String getProperty​(String key)//获取元素
    • public Set stringPropertyNames​()//获取所有键的集合

    代码测试:

    
    public class PropertiesDemo2 {
        public static void main(String[] args) {
            Properties pr=new Properties();
    
            pr.setProperty("01","hello");
            pr.setProperty("02","world");
    
            Set<String> keys=pr.stringPropertyNames();
            for(String key:keys){
                String value =pr.getProperty(key);
                System.out.println(key+"="+value);
            }
        }
    }
    
    

    结果:
    01=hello
    02=world

    2.1特有功能:

    • public void load​(Reader reader) //从文件读取数据到集合
    • public void store​(Writer writer, String comments) //把集合中的数据写入文件
    
    public class IoPropertiesDemo {
        public static void main(String[] args) throws IOException {
        	//加载
            load();
    		//写入
            Store();
    
        }
    
        private static void Store() throws IOException{
            Properties pr=new Properties();
            pr.setProperty("01","蝇");
            pr.setProperty("02","蝇");
            pr.setProperty("03","蝇");
    
            Writer w=new FileWriter("t.txt");
            //将集合的元素以键值对形式存储到文件
            pr.store(w,"null");
            w.close();
        }
    
        private static void load() throws IOException { //文件的数据必须是键值对形式
            Reader r = new FileReader("t.txt");
    
            Properties pr = new Properties();
            //加载t.txt文件到集合
            pr.load(r);
            r.close();
    
            System.out.println(pr);
        }
    }
    
    
    展开全文
  • Java中的集合IO流结合使用02读取

    千次阅读 2019-04-17 21:48:44
    下面我们使用java语言简单的了解一下集合IO流是如何结合使用集合这里介绍到的是ArrayList集合以及缓冲流的读取文件BufferedReader。 BufferedReader格式: 1、 导包(快捷键Ctrl+shift+o...

    ArrayList<>与BufferedReader读取

    开发工具与关键技术:java,IO流,集合
    作者:张启翔
    撰写时间:2019-04-16
    

    下面我们使用java语言简单的了解一下集合与IO流是如何结合使用。
    集合这里介绍到的是ArrayList集合以及缓冲流的读取文件BufferedReader。

    BufferedReader格式:
    1、 导包(快捷键Ctrl+shift+o)
    2、 定义一个集合那么就创建ArrayList类
    3、 创建FileReader对象
    4、 将FileReader对象包装成为缓冲BufferedReader
    5、 声明变量接收将要在循环中产生的数据
    6、 使用循环遍历,循环中将数据使用add方法添加到集合中。
    7、 这时调用read()方法将集合的数据写进文件中
    8、 使用close()方法关闭流

    例子:将文件中的字符串读取到集合中,并且每行存储一个字符串

    	//导包
    import java.util.ArrayList;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    public class BufferedReaderDemo {
    			//开始
    		public static void main(String[] args) throws IOException {
    				//创建集合
    			ArrayList<String> list = new ArrayList<>();
    				//声明一个FileReader的同时声明了一个BufferedReader,然后将FileReader作为参数传进
    			BufferedReader buf = new BufferedReader(new FileReader("introduce.txt"));
    				//声明变量接收数据
    			String the;
        			//使用while循环遍历读取文件
        			//readLine()是BufferedReader特定的方法,读取整一行,
        			//因为传进来的buf是地址值,所以要将,地址值获取的每一行赋值给the
        			//然后判断the是否等于null,因为是String所以是null。如果是int就是-1
    			while ((the = buf.readLine())!=null) {
        				//这里尝试输出一下buf,结果就是地址值
        				//如果像这样直接把BufferedReader输出就会输出一个地址值,而不是地址里面文件的数据,
        				//通俗点就是说你找到你朋友的家里,可以别没有找到人,你要进屋子里面才能看到你的朋友
    				System.out.println(buf);
    					//每次循环就将读取的数据添加到集合中
    				list.add(the);
    			}
    				//结束循环后,分隔一下上面输出的地址值
    			System.out.println("============");
    				//每次使用IO流都需要关闭一下,要不然会一直在后台运行,直到关闭JVM
    			buf.close();
    				//最后查看一下集合是否有接收到。
    			for (int i = 0; i < list.size(); i++) {
    				//get(index) get是查询小括号的是索引
    				System.out.println(list.get(i));
    				
    			}
    			
    		
    }
    

    效果图:

    在这里插入图片描述

    展开全文
  • Java中的集合IO流结合使用01写入

    千次阅读 2019-04-16 21:45:11
    下面我们使用java语言简单的了解一下集合IO流是如何结合使用的。 集合这里介绍到的是ArrayList集合以及缓冲流BufferedWriter。 BufferedWriter格式: 1、 导包(快捷键Ctrl+shift+o) 2、 定...

    ArrayList<>与BufferedWriter写入

    开发工具与关键技术:java,IO流,集合
    作者:张启翔
    撰写时间:2019-04-16
    

    下面我们使用java语言简单的了解一下集合与IO流是如何结合使用的。
    集合这里介绍到的是ArrayList集合以及缓冲流BufferedWriter。

    BufferedWriter格式:
    1、 导包(快捷键Ctrl+shift+o)
    2、 定义一个集合那么就创建ArrayList类
    3、 使用ArrayList类里的方法add添加元素
    4、 创建FileWriter对象
    5、 将FileWriter对象作为参数传进BufferedWriter构造方法里
    6、 这时调用write()方法将集合的数据写进文件中
    7、 使用close()方法关闭流

    例子:定义一个集合用来存储多个字符串,并添加多个字符串数据,然后将集合的值写进写进文件中,并一个字符占一行

    //导包
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    public class Demo02Practice {
    //开始
    	public static void main(String[] args) {
    //定义集合
    		ArrayList<String> list =new ArrayList<>();
    //添加数据到集合中
    		list.add("我叫周星驰");
    		list.add("今年25岁");
    		list.add("是香港人");
    		list.add("我是个演员");
    		list.add("当然,这只是想象");
    		list.add("因为25岁的周星驰已经回不来了");
    		list.add("也就是说我们都已经长大了");
    		list.add("再也不是那个每天尿的小孩了");
    		
    		// try块;抛异常(可以点击提示抛出异常)
    		try {
    			//创建BufferedWriter对象
    			BufferedWriter buf =new BufferedWriter(new FileWriter("introduce.txt"));
             	 //for循环出每一个集合中的字符串
    			for (int i = 0; i < list.size(); i++) {
    					String str =list.get(i);//str接收当前集合的数据,get为查询,i为索引 格式get(index)
    					buf.write(str);//wrigte是方法,有5种重载方式
    					buf.newLine();//BufferedWriter 的专有方法,换行
    				}		
    			    //当不使用for循环时,可以使用这个方法,但麻烦,还要知道具体有多少行	
    			    //buf.write(list.get(0)); 
    			    //buf.write(list.get(1));
    			    //buf.write(list.get(2)); 
    			    //buf.write(list.get(3)); 
    			    //buf.write(list.get(4));
    			    //buf.write(list.get(5));
    			    //………
    			buf.close();//每次使用完IO都需要关闭流
    			
    		} catch (IOException e) {//catch块
    			e.printStackTrace();
    		}
    	}
    }
    

    效果图:
    在这里插入图片描述

    展开全文
  • 运用集合IO流编写简单的学生信息管理系统,实现增删改查操作 import java.text.NumberFormat; public class Info { private int stu_id; private String stu_name; private String stu_sex; private...
    运用集合与IO流编写简单的学生信息管理系统,实现增删改查操作。

    有错误的地方请指出!!

    本文链接:http://m.blog.csdn.net/article/details?id=52076179#10006-weixin-1-52626-6b3bffd01fdde4900130bc5a2751b6d1
    import java.text.NumberFormat;
    
    public class Info {
     
    	private int stu_id;
    	private String stu_name;
    	private String stu_sex;
    	private int stu_age;
    	private int chinese;
    	private int math;
    	private int english;
    	private String stu_address;
    	public int getStu_id() {
    		return stu_id;
    	}
    	public void setStu_id(int stu_id) {
    		this.stu_id = stu_id;
    	}
    	public String getStu_name() {
    		return stu_name;
    	}
    	public void setStu_name(String stu_name) {
    		this.stu_name = stu_name;
    	}
    	public String getStu_sex() {
    		return stu_sex;
    	}
    	public void setStu_sex(String stu_sex) {
    		this.stu_sex = stu_sex;
    	}
    	public int getStu_age() {
    		return stu_age;
    	}
    	public void setStu_age(int stu_age) {
    		this.stu_age = stu_age;
    	}
    	public int getChilese() {
    		return chinese;
    	}
    	public void setChilese(int chinese) {
    		this.chinese = chinese;
    	}
    	public int getMath() {
    		return math;
    	}
    	public void setMath(int math) {
    		this.math = math;
    	}
    	public int getEnglish() {
    		return english;
    	}
    	public void setEnglish(int english) {
    		this.english = english;
    	}
    	public String getStu_address() {
    		return stu_address;
    	}
    	public void setStu_addrese(String stu_address) {
    		this.stu_addrese = stu_addrese;
    	}
    	
    	public double getAvgScose(){
    		double avg=(math+chinese+english)/3;
    		NumberFormat nf=NumberFormat.getNumberInstance();
    		nf.setMaximumFractionDigits(2);
    		avg=Double.parseDouble(nf.format(avg));
    		return avg;
    		
    	}
    	
    	public int getSunScose(){
    		return math+chinese+english;
    		
    	}
    	
    	
    }
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.ObjectInputStream.GetField;
    import java.util.Scanner;
    
    public class ChooseDemo {
    	/*
    	 *得到int类型的数据 
    	 */
    	BufferedReader s=null;
    	public int getInputIntInfo(String info){
    		int input_int=0;
    		try{
    			System.out.println(info);
    			s=new BufferedReader(new InputStreamReader(System.in));
    			input_int=Integer.parseInt(s.readLine());
    		}catch (Exception e) {
    			System.out.println("输入错误!!请重新输入。");
    			input_int=getInputIntInfo(info);
    		}
    			return input_int;
    	}
    	
    	/*
    	 *得到String类型的数据 
    	 */
    	public String getInputStringInfo(String string){
    		String input_String="";
    		try{
    			System.out.println(string);//显示输入的字符串
    			 s=new BufferedReader(new InputStreamReader(System.in));
    			 input_String=s.readLine();
    			}catch (Exception e) {
    				System.out.println("输入错误!!请重新输入");
    				input_String=getInputStringInfo(string);
    			}
    		return input_String;
    	}
    	
    	public void menu(){
    		System.out.println("************************");
    		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("6.查询所有学生信息");
    		System.out.println("7.查询学生信息(根据学号)");
    		System.out.println("8.查询学生信息(根据姓名)");
    		System.out.println("9.退出系统");
    		System.out.println("************************");
    	}
    	
    	public void Choose(int coad) throws Exception{
    		switch (coad) {
    		//添加学生信息
    			case 1:
    				System.out.println("<---你已进入添加学生信息界面--->");
    				
    				Info add_info=getStudentInfo();
    				if(!(Handle.selectStuId(add_info.getStu_id()))){
    					if(Handle.AddInfo(add_info)){
    						System.out.println("\n添加成功!!\n");
    					}else{
    						System.out.println("\n添加失败!!\n");
    					}
    				}else{
    					System.out.println("该学号已存在!!请重新选择!");
    				}
    				break;
    		//修改学生信息(根据学号修改)	
    			case 2:
    				System.out.println("<---你已进入修改学生信息(根据学号修改)界面--->");
    				int update_id=getInputIntInfo("请输入学号");
    				if(Handle.selectStuId(update_id)){
    					System.out.println("<---请输入新的学生信息--->");
    					Info update_infoById=getStudentInfo();
    					if(!(Handle.selectStuId(update_infoById.getStu_id()))||update_infoById.getStu_id()==update_id){
    						if(Handle.updateInfoById(update_id,update_infoById)){
    							System.out.println("\n修改成功!!!\n");
    						}else{
    							System.out.println("\n修改失败!!!\n");
    							}
    					}else{
    						System.out.println("该学号的已存在!!请重新选择!");
    					}
    				}else{
    					System.out.println("\n没有该学号的学生信息!!请重新选择!\n");
    				}
    				break;
    		//修改学生信息(根据姓名修改)	
    			case 3:
    				System.out.println("<---你已进入修改学生信息(根据姓名修改)界面--->");
    				String update_name=getInputStringInfo("请输入姓名");
    				if(Handle.selectStuName(update_name)){
    					System.out.println("<---请输入新的学生信息--->");
    					Info update_infoByName=getStudentInfo();
    					if(!(Handle.selectStuId(update_infoByName.getStu_id()))||update_name.equals(update_infoByName.getStu_name())){
    						if(Handle.updateInfoByName(update_name,update_infoByName)){//调用Handle类的updateInfoByName方法进行根据姓名修改学生信息操作
    							System.out.println("\n修改成功!!\n");
    						}else{
    							System.out.println("\n修改失败!!\n");
    							}
    					}else{
    						System.out.println("该学号的已存在!!请重新选择!");
    					}
    				}else{
    					System.out.println("\n没有该姓名的学生信息!!请重新选择!\n");
    				}
    				break;
    		//删除学生信息(根据学号删除)
    			case 4:
    				System.out.println("<---你已进入删除学生信息(根据学号删除)界面--->");
    				int delete_id=getInputIntInfo("请输入学号");
    			
    				 if(Handle.selectStuId(delete_id)){
    					if(Handle.deleteInfoById(delete_id)){
    						System.out.println("\n删除成功!!!\n");
    					}else{
    						System.out.println("\n删除失败!!!\n");
    						}
    				}else{
    					System.out.println("\n没有该学号的学生信息!!请重新选择!\n");
    				}	
    				break;
    		//删除学生信息(根据姓名删除)	
    			case 5:
    				System.out.println("<---你已进入删除学生信息(根绝姓名删除)界面--->");
    				String delete_name=getInputStringInfo("请输入姓名");
    				
    				if(Handle.selectStuName(delete_name)){
    					if(Handle.deleteInfoByName(delete_name)){
    						System.out.println("\n删除成功!!!\n");
    					}else{
    						System.out.println("\n删除失败!!!\n");
    					}
    				}else{
    					System.out.println("\n没有该姓名的学生的信息!!请重新选择!\n");
    				}
    				break;
    		//查询所有学生信息	
    			case 6:
    				System.out.println("<---你已进入所有学生信息界面--->");
    				Handle.selectAllInfo();
    				break;
    		//查询学生信息界面(根据学号查询)	
    			case 7:
    				System.out.println("<---你已进入查询学生信息界面(根据学号查询)--->");
    				int select_id=getInputIntInfo("请输入学号");
    				if(Handle.selectStuId(select_id)){
    					String id=Handle.selectInfoById(select_id);
    					if(id!=null){
    					}
    				}else{
    					
    					System.out.println("\n没有该学号的学生信息!!请重新选择!\n");
    				}
    				break;
    		//查询学生信息界面(根据姓名查询)
    			case 8:
    				System.out.println("<---你已进入查询学生信息界面(根据姓名查询)--->");
    				String select_name=getInputStringInfo("请输入姓名");
    				if(Handle.selectStuName(select_name)){
    					String name=Handle.selectInfoByName(select_name);
    					if(name!=null){
    					}
    				}else{
    					System.out.println("\n没有该姓名的学生信息!!请重新选择!\n");
    				}
    				break;
    		//退出系统
    			case 9:System.out.println("退出成功!");
    				s.close();
    				System.exit(0);
    				break;
    		default:
    			System.out.println("没有该选项!!请重新输入!");
    			break;
    		}
    	}
    	//给 Info类的学生属性进行赋值
    	private Info getStudentInfo(){
    		Info info=new Info();	
    		info.setStu_id(getInputIntInfo("请输入学号"));
    		info.setStu_name(getInputStringInfo("请输入姓名"));
    		info.setStu_sex(getInputStringInfo("请输入性别"));
    		info.setStu_age(getInputIntInfo("请输入年龄"));
    		info.setChilese(getInputIntInfo("请输入语文成绩"));
    		info.setMath(getInputIntInfo("请输入数学成绩"));
    		info.setEnglish(getInputIntInfo("请输入英语成绩"));
    		info.setStu_addrese(getInputStringInfo("请输入地址"));
    		info.getAvgScose();//得到平均成绩
    		info.getSunScose();//得到总成绩
    		return info;
    		
    	}
    }
    import java.util.ArrayList;
    
    public class Handle {
    
    	private static ArrayList list=new ArrayList();//创建一个集合,用于保存数据
    	//添加学生信息
    	public static boolean AddInfo(Info add_info) throws Exception {
    		BufferedWriterDemo buffered=new BufferedWriterDemo();
    		buffered.save(add_info);
    		boolean add=false;
    		add=list.add(add_info);
    		return add;
    	}
    	//根据学号修改学生信息
    	public static boolean updateInfoById(int id, Info update_infoById) throws Exception {
    		boolean update=false;
    		BufferedUpdataDemo up=new BufferedUpdataDemo();
    		update=up.updataInfoById(id,update_infoById);
    		return update;
    	}
    	
    	//根据姓名修改学生信息
    	public static boolean updateInfoByName(String name, Info update_infoByName) throws Exception {
    		boolean update=false;
    		BufferedUpdataDemo up=new BufferedUpdataDemo();
    		update=up.updataInfoByName(name,update_infoByName);
    		
    		return update;
    	}
    	
    	//根据学号删除学生信息
    	public static boolean deleteInfoById(int delete_id) throws Exception {
    		boolean delete=false;
    		BufferedDeleteDemo d=new BufferedDeleteDemo();
    		delete=d.deleteInfoById(delete_id);
    		return delete;
    	}
    	
    
    	//根据姓名删除信息
    	public static boolean deleteInfoByName(String delete_name) throws Exception {
    		boolean delete=false;
    		BufferedDeleteDemo d=new BufferedDeleteDemo();
    		delete=d.deleteInfoByName(delete_name);
    		return delete;
    	}
    	
    	
    	//查询所有学生信息
    	public static void selectAllInfo() throws Exception {
    		BufferedSelectDemo read=new BufferedSelectDemo();
    		read.selectAllInfo();
    	}
    	
    	//根据学号查询信息
    	public static String selectInfoById(int select_id) throws Exception {
    		String in=null;
    		BufferedSelectDemo read=new BufferedSelectDemo();
    		 in=read.selectInfoById(select_id);
    		
    		return in;
    	}
    	
    	//根据姓名查询信息
    	public static String selectInfoByName(String select_name) throws Exception {
    		String in=null;
    		BufferedSelectDemo read=new BufferedSelectDemo();
    		 in=read.selectInfoByName(select_name);
    		return in;
    	}
    	
    	//得到学号
    	public static boolean selectStuId(int id) throws Exception {
    		boolean fag=false;
    		BufferedSelectDemo read=new BufferedSelectDemo();
    		fag=read.getStuId(id);
    		return fag;
    	}
    	
    	//得到姓名
    	public static boolean selectStuName(String name) throws Exception{
    		boolean fag=false;
    		BufferedSelectDemo read=new BufferedSelectDemo();
    		fag=read.getStuName(name);
    		return fag;
    	}
    	
    	
    }
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class BufferedWriterDemo {
    
    	private static File file=new File("d:"+File.separator+"test1"+File.separator+"studendInfo.txt");
    	public void save(Info info ) throws Exception{
    		ArrayList list=new ArrayList();
    		list.add(info);
    		BufferedWriter save=new BufferedWriter(new FileWriter(file,true));
    		save.write("学号:"+String.valueOf(info.getStu_id()));
    		save.write("; 姓名:"+String.valueOf(info.getStu_name()));
    		save.write("; 年龄:"+String.valueOf(info.getStu_age()));
    		save.write("; 性别:"+info.getStu_sex());
    		save.write("; 语文成绩:"+String.valueOf(info.getChilese()));
    		save.write("; 数学成绩:"+String.valueOf(info.getMath()));
    		save.write("; 英语成绩:"+String.valueOf(info.getEnglish()));
    		save.write("; 平均成绩:"+String.valueOf(info.getAvgScose()));
    		save.write("; 总成绩:"+String.valueOf(info.getSunScose()));
    		save.write("; 地址:"+info.getStu_address());
    		save.newLine();
    		save.close();
    	}
    }
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class BufferedDeleteDemo {
    
    	private static File file=new File("d:"+File.separator+"test1"+File.separator+"studendInfo.txt");
    	private static ArrayList array=new ArrayList();
    	
    	//根据学号删除信息
    	public boolean deleteInfoById(int delete_id) throws Exception{
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		String info=null;
    		boolean fag=false;
    		array.clear();
    		while((info=read.readLine())!=null){
    			array.add(info);
    		}
    		read.close();
    		for(Object obj:array){
    			info=(String)obj;
    			if(info.substring(info.indexOf(":")+1,info.indexOf(";")).equals(String.valueOf(delete_id))){//截取集合中的学号与输入的学号进行比较
    				array.remove(info);
    				fag=true;
    				break;
    			}
    	}
    		
    		file.delete();
    		BufferedWriter write=new BufferedWriter(new FileWriter(file));
    		for(Object obj:array){
    			 info=(String)obj;
    			 write.write(info);
    			 write.newLine();
    		}
    		write.close();
    		return fag;
    		
    	}
    	//根据姓名删除学生信息
    	public boolean deleteInfoByName(String name) throws Exception{
    		boolean fag=false;
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		String info=null;
    		array.clear();
    		while((info=read.readLine())!=null){
    			array.add(info);
    		}
    		read.close();
    		for(Object obj:array){
    			info=(String)obj;
    			if(info.substring(info.indexOf("名")+2,info.indexOf("年")-2).equals(name)){//截取集合中的学号与输入的学号进行比较
    				array.remove(info);
    				fag=true;
    				break;
    			}
    	}
    		
    		file.delete();
    		BufferedWriter write=new BufferedWriter(new FileWriter(file));
    		for(Object obj:array){
    			 info=(String)obj;
    			 write.write(info);
    			 write.newLine();
    		}
    		write.close();
    		return fag;
    		
    	}
    	
    }
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class BufferedUpdataDemo {
    	private static ArrayList array=new ArrayList();
    	
    private static File file=new File("d:"+File.separator+"test1"+File.separator+"studendInfo.txt");
    	
    	//根据学号修改信息
    	public boolean updataInfoById(int updata_id,Info in) throws Exception{
    		array.clear();
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		String info=null;
    		boolean fag=false;
    		
    		while((info=read.readLine())!=null){
    			array.add(info);
    		}
    		read.close();
    		for(Object obj:array){
    			info=(String)obj;
    			String input="学号:"+in.getStu_id()+"; 姓名:"+in.getStu_name()+"; 年龄:"+in.getStu_age()+"; 性别:"+in.getStu_sex()+"; 语文成绩:"+in.getChilese()+"; 数学成绩:"+in.getMath()+"; 英语成绩:"+in.getEnglish()+"; 平均成绩:"+in.getAvgScose()+"; 总成绩:"+in.getSunScose()+"; 地址:"+in.getStu_address();
    			if(info.substring(info.indexOf(":")+1,info.indexOf(";")).equals(String.valueOf(updata_id))){//截取集合中的学号与输入的学号进行比较
    				array.set(array.indexOf(info), input);
    				
    				fag=true;
    				break;
    			}
    	}
    		
    		file.delete();
    		
    		BufferedWriter write=new BufferedWriter(new FileWriter(file));
    		for(Object obj:array){
    			info=(String)obj;
    			
    			 write.write(info);
    			 write.newLine();
    		}
    		write.close();
    		return fag;
    		
    	}
    	
    	
    	//根据姓名修改学生信息
    	public boolean updataInfoByName(String name,Info in) throws Exception{
    		array.clear();
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		String info=null;
    		boolean fag=false;
    		while((info=read.readLine())!=null){
    			array.add(info);
    		}
    		read.close();
    		for(Object obj:array){
    			info=(String)obj;
    			String input="学号:"+in.getStu_id()+"; 姓名:"+in.getStu_name()+"; 年龄:"+in.getStu_age()+"; 性别:"+in.getStu_sex()+"; 语文成绩:"+in.getChilese()+"; 数学成绩:"+in.getMath()+"; 英语成绩:"+in.getEnglish()+"; 平均成绩:"+in.getAvgScose()+"; 总成绩:"+in.getSunScose()+"; 地址:"+in.getStu_address();
    			if(info.substring(info.indexOf("名")+2,info.indexOf("年")-2).equals(name)){//截取集合中的姓名与输入的学号进行比较
    				array.set(array.indexOf(info), input);
    				
    				fag=true;
    				break;
    			}
    	}
    		
    		file.delete();
    		
    		BufferedWriter write=new BufferedWriter(new FileWriter(file));
    		for(Object obj:array){
    			 info=(String)obj;
    			 write.write(info);
    			 write.newLine();
    		}
    		write.close();
    		return fag;
    		
    	}
    
    }
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class BufferedSelectDemo {
    
    	private static File file=new File("d:"+File.separator+"test1"+File.separator+"studendInfo.txt");
    	private static ArrayList list=new ArrayList();
    	//查询所有学生信息
    	public void selectAllInfo() throws Exception{
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		String info=null;
    		list.clear();
    		while((info=read.readLine())!=null){
    			list.add(info);
    		}
    		read.close();
    		for(Object obj:list){
    			System.out.println(obj);
    		}
    	}
    	
    	//根据学号查询学生信息
    	public String selectInfoById(int select_id) throws Exception{
    			BufferedReader read=new BufferedReader(new FileReader(file));
    			String info=null;
    			//String info1=null;
    			ArrayList list=new ArrayList();
    			while((info=read.readLine())!=null){
    				list.add(info);
    			}
    			read.close();
    			for(Object obj:list){
    				info=(String)obj;
    				if(info.substring(info.indexOf(":")+1,info.indexOf(";")).equals(String.valueOf(select_id))){//截取集合中的学号与输入的学号进行比较
    					System.out.print("该学生信息如下\n");
    					System.out.println(info);
    					
    					break;
    				}
    		}
    			return info;
    	}
    	
    	//根据姓名查询学生信息
    	public String selectInfoByName(String name ) throws Exception{
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		String info=null;
    		String info1=null;
    		ArrayList list=new ArrayList();
    		while((info=read.readLine())!=null){
    			list.add(info);
    		}
    		read.close();
    		for(Object obj:list){
    			info1=(String)obj;
    			if(info1.substring(info1.indexOf("名")+2,info1.indexOf("年")-2).equals(name)){//截取集合中的学号与输入的学号进行比较
    				System.out.print("该学生信息如下\n");
    				System.out.println(info1);
    				break;
    			}
    	}
    		return info1;
    }
    	
    	//得到学号
    	public boolean getStuId(int id) throws Exception{
    		boolean fag=false;
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		
    		String info=null;
    		
    		ArrayList list=new ArrayList();
    		
    		while((info=read.readLine())!=null){
    			
    			list.add(info);
    		}
    		read.close();
    		
    		for(Object obj:list){
    			String stu_id=(String)obj;
    			if(stu_id.substring(stu_id.indexOf(":")+1,stu_id.indexOf(";")).equals(String.valueOf(id))){
    				fag=true;
    				break;
    			}
    		}
    		return fag;
    		
    	}
    	
    	//得到姓名
    	public boolean getStuName(String name) throws Exception{
    		boolean fag=false;
    		BufferedReader read=new BufferedReader(new FileReader(file));
    		String info=null;
    		ArrayList list=new ArrayList();
    		while((info=read.readLine())!=null){
    			list.add(info);
    		}
    		read.close();
    		for(Object obj:list){
    			String stu_name=(String)obj;
    			if(stu_name.substring(stu_name.indexOf("名")+2,stu_name.indexOf("年")-2).equals(name)){
    				fag=true;
    				break;
    			}
    		}
    		
    		return fag;
    		
    	}
    }
    public class TestMemo {
    
    	
    	public static void main(String[] args) throws Exception {
    		
    		ChooseDemo ch=new ChooseDemo();
    		while(true){
    		ch.menu();
    		int choose=ch.getInputIntInfo("
       <请输入数字选择操作>
        ");
    		ch.Choose(choose);
    		}
    	}
    
    }
    
       
    展开全文
  • import java.util.Map.Entry; import java.util.Properties;...是一个可以和IO流结合使用集合类。 * Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。 *
  • 文章目录IO流相关知识(File,字节流,字符流,特殊操作流(标准输入流,标准输出流,对象序列化与反序列化,properties与IO流结合))相关知识总结前言一、File1.File的概述构造方法2.File创建功能3.File...
  • 毕竟,一切本地文件,一切网络传输都是IO流,最近也遇到不少IO流的问题,发现IO流跟File类结合后能催生诸多有趣的需求,说不定自己写的一个小demo以后真的能帮自己整理一下烦乱的DEF盘呢。 按类型整理文件 定义一...
  • 案例: package IO; import java.io.FileWriter; import java.io.IOException; import java.util.Properties; ... java.util.Properties集合,extends Hashtable<k,v> ipmlements Map&...
  • 六、集合 1. 理解:集合就是存储对象最常用的一种方式,只用于存储对象,长度是可变的  与数组的区别:都是容器,数组也可以储存对象,但长度是固定的,集合是可变的  数组中可以存储基本数据类型,集合只能...
  • 7、map集合和IO流

    千次阅读 2015-04-02 20:25:06
    Map:一次添加一对元素。...Map也称为双列集合,Collection集合称为单列集合。 其实map集合中存储的就是键值对。  map集合中必须保证键的唯一性。  常用方法: 1,添加。 value put(key,value):返回
  • 集合IO结合[Properties]  ASP.Net+Android+IO开发、.Net培训、期待与您交流! 集合 Properties Map 与 IO结合 翻译为'特性' :常用于保存程序的配置文件 是...
  • IO流的基本使用

    千次阅读 2016-06-30 16:37:23
    IO流 |--字节流 |--字节输入流 InputStream int read():一次读取一个字节 int read(byte[] bys):一次读取一个字节数组 |--FileInputStream |--BufferedI
  • 集合中和IO技术相结合集合容器 该对象的特点:可用于键值对形式的配置文件 那么在加载数据时,通常有固定的格式 键=值 设置获取元素 Properties prop = new Properties(); prop.setProperty("zhangsan","3
  • 牛刀小试 - 详细总结Java-IO流使用

    千次阅读 2015-01-26 16:40:30
    流的概念作用 流是一组有顺序的,有起点终点...IO流的分类 根据处理数据类型的不同分为:字符流字节流 根据数据流向不同分为:输入流输出流 输入流输出流 所谓输入流输出流,实际是相对
  • Java IO流

    千次阅读 2016-04-15 23:25:18
    Java IO流         Java IO简介 概述 流是一组有顺序的,有起点终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更...
  • 史上最骚最全最详细的IO流教程,小白都能看懂!

    万次阅读 多人点赞 2019-10-31 08:54:47
    在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点: > (1)明确要操作的数据是数据源还是数据目的(也就是要读还是要写) (2)明确要操作的设备上的数据是字节还是文本 (3)明确数据...
  • 概述:字符流是可以直接读写字符的IO流。 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出。 字符输入流(FileReader)概述: FileReader的read()方法可以按照字符...
  • 概述: java.util.Properties继承于Hashtable 表示一个持久的属性集 它使用键值结构存储数据 每个键及其对应值都是...Properties集合是唯一和IO流结合集合 可以使用Properties集合中的store()方法 将集合中的临...
  • Properties集合类

    2018-11-29 23:19:40
    双列集合,键值都是String,唯一一个可以直接结合IO流使用集合类 从流中读取文件,直接写入文件到流中 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
  • java--IO流

    千次阅读 2013-08-06 18:06:22
    06~概述 读 就是输入 读入到中 写 就是输出 写出去 IO(Input Output) IO 用来处理设备之间的数据传输;Java对数据的操作是通过的方式;Java用
  • Java IO流学习

    千次阅读 2017-12-04 14:23:34
    Java IO流学习 Java流操作有关的或接口: Java流类图结构: 流的概念作用  流是一组有顺序的,有起点终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据...
  • Java 集合/IO流/多线程基础

    千次阅读 2019-03-05 10:02:32
    一、集合: 1. 集合框架: 1)Collection (1)List:有序的,有索引,元素可重复。 (add(index, element)、add(index, Collection)、remove(index)、set(index,element)、get(index)、subList(from, to)、...
  • -------android培训、Java培训、期待与您交流!...1 转换:字节流转换成字符 字符:  FileReader  FileWriter  BufferedReader  BufferedWriter 字节:  FileInputStream  FileOutputStrea
  • IO流之再战猜拳小游戏

    千次阅读 多人点赞 2021-09-14 15:05:27
    文件IO流前言文件File概述构造方法成员方法递归IO流概述IO流常用基类字节流的抽象基类1.InputStream2.OutputStream字符流的抽象基类字符流字符串中的编码解码问题1.InputStreamReader2.OutputStreamWriter字符缓冲...
  • 十、Java IO流

    千次阅读 2020-07-17 11:09:10
    文章目录十、Java IO流1.File1.1File概述构造方法【应用】1.2File创建功能【应用】1.3File判断获取功能【应用】1.4File删除功能【应用】2.递归2.1递归【应用】2.2递归求阶乘【应用】2.3递归遍历目录...
  • java基础—IO流概述

    2015-06-07 19:28:59
    IO流用来处理设备之间的数据传输 java对数据的操作是通过流的方式 java 用于操作流的对象都在IO包中 流按操作数据分为两种,字节流与字符流, 流按流向分为:输入流, 输出流  将外设中的数据读取到内存中:输入。 ...
  • 主要知识点:序列,字节,字节缓冲区,list集合,迭代器,枚举 由于Vector不够高效,在JDK1.2版本以后被ArrayList替代,枚举对应的迭代器,结构类似,都是取出对象的方法。 而序列的参数只能是枚举类型,Arr
  • java io流最详解

    千次阅读 2016-11-13 20:31:38
    初学Java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错...io 比较基本的一些处理,除此之外我们还会提到一些
  • IO流作业及答案

    千次阅读 2020-04-05 15:56:50
    2.Java IO流可以分为 处理流两大,其中前者处于IO操作的第一线,所有操作必须通过他们进行。 3.输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取数据, 方法给程序提供了一个从输入流中读取数据...
  • java IO流的超级详解

    2019-09-17 23:59:33
    2)IO流总结  字节流  字节输入流 InputStream  FileInputStream 操作文件的字节输入流  BufferedInputStream高效的字节输入流  ObjectInputStream 反序列化流  字节输出流 OutputStram  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,847
精华内容 14,338
关键字:

和io流结合使用的集合类