java IO 学习(三)
2018-06-18 02:16:20来源:未知 阅读 ()
java IO 学习(一)给了java io 进行分类,这一章学习这些类的常用方法
一、File
1、创建一个新的File的实例:
1 /** 2 * 创建一个新的File实例 3 */ 4 File f = new File("D:/file/3.jpg");// unix系统 5 File f2 = new File("D:\\file\\3.jpg");// windows系统 6 File f3 = new File("D:\\file", "3.jpg"); 7 File f4 = new File(f3.toURI()); 8 File f5 = new File("a.jpg");
2、该File实例的常用方法
1 if (f2.canExecute()) { 2 System.out.println("该文件可以被执行"); 3 } 4 if (f2.canRead()) { 5 System.out.println("该文件可以被读取"); 6 } 7 if (f2.canWrite()) { 8 System.out.println("该文件可以被写入(修改)"); 9 } 10 System.out.println("比较两个File实例(f2,f3)的字典:" + f2.compareTo(f3)); 11 if (f.createNewFile()) { 12 System.out.println("当且仅当具由该实例表示的文件尚不存在时,创建一个新的空文件,并返回true"); 13 } 14 if (!f.exists()) { 15 System.out.println("该实例表示的文件不存在"); 16 } 17 if (!f.isFile()) { 18 System.out.println("该实例不是标准文件"); 19 } 20 if (!f.isDirectory()) { 21 System.out.println("该实例不是目录");// 目录就是文件夹 22 } 23 if (!f.isHidden()) { 24 System.out.println("该实例不是隐藏文件"); 25 } 26 // 获取文件名或目录名 27 String name = f.getName(); 28 // 获取文件绝对路径 29 String absolutePath = f.getAbsolutePath(); 30 // 获取文件父目录 31 String parent = f.getParent(); 32 // 获取文件路径 33 String path = f.getPath(); 34 long lastUpdate = f.lastModified(); 35 long length = f.length(); 36 // 创建此抽象路径名指定的目录 37 f.mkdir(); 38 // 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录 39 f.mkdirs(); 40 // 重新命名此抽象路径名表示的文件,就是对该文件的路径进行重命名 41 // 如果父路径相同,就是对该文件的重命名,如果父路径不一样,就是移动该文件的位置,目标文件已存在时移动失败 42 f.renameTo(new File("D:/file/2/1.jpg")); 43 // 删除该文件 44 f.delete();
二、InputStream
1、一般创建一个InputStream实例由它的子类 FileInputStream 来完成。
1 /** 2 * 读取文件的原始字节流 3 */ 4 FileInputStream fip = new FileInputStream("D:\\file\\3.jpg");// 通过路径 5 FileInputStream fip2 = new FileInputStream(f2);// 通过File实例
2、它拥有的常用方法以及它子类的常用方法
1 /** 2 * 读取文件的原始字节流 3 */ 4 FileInputStream fip = new FileInputStream("D:\\file\\3.jpg");// 通过路径 5 FileInputStream fip2 = new FileInputStream(f2);// 通过File实例 6 // 获取该流可以读取(或跳过)的字节数的估计值(int) 7 System.out.println(fip.available()); 8 // 获取从输入流读取数据的下一个字节 9 System.out.println(fip.read()); 10 // 从输入流读取一些(new byte[100].length=100)字节数,并将它们存储到缓冲区 new 11 // byte[100],返回读取的字节数 12 System.out.println(fip.read(new byte[100])); 13 // 从输入流的0位置开始读取最多 100字节的数据到一个new byte[100],返回读取的字节数 14 System.out.println(fip.read(new byte[100], 0, 100)); 15 // 跳过并丢弃100个字节数,返回实际跳过的字节数 16 fip.skip(100); 17 if (fip.markSupported()) { 18 System.out.println("这个输入流支持 mark和 reset方法"); 19 // 标记此输入流中的当前位置 20 fip.mark(12); 21 // 将此流重新定位到上次在此输入流上调用 mark方法时的位置 22 fip.reset(); 23 } 24 // 关闭流 25 fip.close(); 26 /** 27 * 子类DataInputStream多了.readLong();等一些方法,别的子类与父类基本相同,多出来的方法我们新人一般用不到 28 */
三、OutputStream
1 // 声明和InputStream基本一样,多了一个:true 表示字节将被写入到文件的末尾,而不是开头(append) 2 FileOutputStream os = new FileOutputStream("D:\\file\\3.jpg", true); 3 // 将指定的字节写入此输出流 4 os.write(0); 5 // 将 new byte[100].length字节从new byte[100]写入此输出流 6 os.write(new byte[100]); 7 // 从new byte[100]写入 50个字节,从偏移 0开始输出到此输出流 8 os.write(new byte[100], 0, 50); 9 // 刷新此输出流并强制任何缓冲的输出字节被写出 10 os.flush(); 11 // 关闭流 12 os.close(); 13 // 创建一个新的字节数组输出流,具有100大小的缓冲区容量,不填不指定大小 14 ByteArrayOutputStream baos = new ByteArrayOutputStream(100); 15 // 创建一个新分配的字节数组 16 byte[] b = baos.toByteArray(); 17 // 将此字节数组输出流的 count字段重置为零,以便丢弃输出流中当前累积的所有输出 18 baos.reset(); 19 // 使用utf-8字符集将缓冲区内容转换为字符串解码字节, 不填则用平台默认 20 baos.toString("utf-8"); 21 /** 22 * 子类DataOutputStream多了.writeLong();.size()等一些方法,别的子类与父类基本相同,多出来的方法我们新人一般用不到 23 */
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash