泛型、File方法、字节流写

1、泛型

泛型分为两种:
1、不限制类型 :不限制和不给定泛型,默认是Object类型是一样的效果,可以简单的理解为将Object类型显示的给指明出来,但是呢,不明确的说是Object类型,而是换了一种形式,使用泛型代替(一个字母)

	public static void noAssign() {
		List list = new ArrayList();
		list.add(1);
		list.add("hello");
		list.add("word");
		for(Object a:list) {	//增强for循环 不用创建迭代器直接遍历
			System.out.println(a);
		}
	}

2、限制类型:限制集合中所能存储的数据类型,不用强制类型转换,将错误提前到了编译时期。

	public static void assign() {
		List<String> list = new ArrayList<>();//后面这个<>可以省略 在1.7之前需要明示 在1.8之后可以不写
		//list.add(123); 在编译阶段如果不是指定类型会报错
		list.add("你好");
		list.add("wrod");
		System.out.println(list);
		for(String s:list) {
			System.out.println(s);
		}
		//没使用泛型 迭代器取出的就是Object
		Iterator<String> it = list.iterator();  //使用泛型限制数据类型的好处,不用强制类型转换,安全机制
		while(it.hasNext()) {
			//if(it.next() instanceof String) {} //不限制类型的话需要使用instanceof,这时传进来的是Objet类型 还需要强转成String类型
			System.out.println(it.next());
		}	
	}

自定义类型:

	public static List<User> users(){
		List<User>user = new ArrayList<>();
		user.add(new User("消防",16));
		user.add(new User("我",20));
		return user;
	}

2、File

概念:File对象是将平时所用到的关于文件相关的操作进行的封装,方便使用

操作:curd(增删改查),创建及删除文件、目录等,改文件名,查看文件、获取文件路径地址

	/**
	 * 文件夹就是目录目录!就是文件夹
	 * 创建目录/删除
	 */
	public static void mak() {
		File file = new File("F:/QMDownload/tet/hellow/xiao");
		//file.mkdir();//创建单个目录(文件夹)
		file.mkdirs();//创建多个目录
		file.delete();//删除此路径名表示的文件或目录
	}
		/**
	 * 创建文件
	 * @throws IOException 
	 */
	public static void mak02() throws IOException {
		File file = new File("F:/QMDownload/tet/hellow/word.txt");
		//createNewFile() 当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件。 
		if(file.exists()) {//判断此路径名表示的文件或目录是否存在。 
			file.delete();
		}
		file.createNewFile();
	}
		/**
	 * 判断文件类型及其权限
	 */
	public static void powerTest() {
		File file = new File("F:/QMDownload/tet/hellow/word.txt");
		System.out.println("判断是否可读:"+file.canRead());
		System.out.println("判断是否可写:"+file.canWrite());
		System.out.println("判断是否是目录:"+file.isDirectory());
		System.out.println("判断是否是文件:"+file.isFile());
	}
		public static void getFile(String path) {
		File file = new File(path);
		String[] s1 = file.list(); //调用list方法转换,获得该目录下的文件使用的是数组接收、、返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。 
//		for(String s :s1) {			
//			System.out.println(s);
//		}
		for(int i=0;i<s1.length;i++) {//遍历输出 String数组
			System.out.println(s1[i]);
		}
	}

3、字节流写

	
	/**
	 * 字节流的写
	 */
	public static void io() throws IOException {
		//指定路径
		File file = new File("F:\\QMDownload.txt");
		file.createNewFile();	
		OutputStream os = new FileOutputStream(file);
		//写数字默认转换成char字符
		os.write(12);
		os.write(97);
		//写字符串,需要调用getByte方法
		os.write("haha".getBytes());
		//流的操作一定要有关闭
		os.close();
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值