首页 / JAVA / Java学习笔记之IO流
Java学习笔记之IO流
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java学习笔记之IO流,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5722字,纯文字阅读大概需要9分钟。
内容图文
![Java学习笔记之IO流](/upload/InfoBanner/zyjiaocheng/684/3eeffe9d7c8e4be08033a61f53cf9448.jpg)
IO : input ouput 流 相对于java(内存)
File: 文件,是JAVA中的对象,用来映射硬盘中的文件或者目录
注意:java中‘\’是转义字符,所以‘\\’才能表示目录
File常用方法:
1 File file=new File("D:\\File\\a"); 2 System.out.println("此抽象路径名表示的文件是否可执行---->"+file.canExecute()); 3 System.out.println("此抽象路径名表示的文件是否可读---->"+file.canRead()); 4 System.out.println("此抽象路径名表示的文件是否可写---->"+file.canWrite()); 5 System.out.println("此抽象路径名表示的文件是否存在---->"+file.exists()); 6 System.out.println("此抽象路径名表示的文件是否是一个目录---->"+file.isDirectory()); 7 System.out.println("此抽象路径名表示的文件是否是一个文件---->"+file.isFile()); 8 System.out.println("此抽象路径名表示的文件是否是一个隐藏文件---->"+file.isHidden()); 9 System.out.println("getName-->"+file.getName());// 获取文件的名字 10 System.out.println("getName-->"+file.getPath());// 获取文件的路径
获取目录下所有文件并遍历:
1 //放进一个字符串数组 2 String [] a=file.list(); 3 for (String s : a) { 4 System.out.println(s); 5 } 6 7 //放进一个File数组 8 File [] b=file.listFiles(); 9 for (File f : b) { 10 System.out.println(f); 11 }
列出目录下的所有子文件(递归算法)
1 public static void showAllFiles(File file){ 2 //用一个文件数组存放目录中的文件 3 File [] files=file.listFiles(); 4 //遍历 5 for (File f : files) { 6 //文件为空,终止程序 7 if(f==null){ 8 return; 9 } 10 //文件为目录形式,递归调用本身 11 if(f.isDirectory()){ 12 showAllFiles(f); 13 //是文件就打印路径名和文件名 14 }else{ 15 if(f.getName().endsWith(".exe") || f.getName().endsWith(".tmp")){ 16 System.out.println(f.getPath() + f.getName()); 17 } 18 } 19 } 20 } 21 //测试 22 // File file1=new File("D:\\"); 23 // showAllFiles(file1);
字节流:
1 /** 2 * 字节流传输数据 3 * @param copyFile 输入目标文件 4 * @param targetFile 输出目标文件 5 */ 6 public static void inputAndOutput(File copyFile,File targetFile){ 7 8 //定义输入流 9 FileInputStream fis=null; 10 //定义输出流 11 FileOutputStream fos=null; 12 try { 13 //创建输入流对象 14 fis=new FileInputStream(copyFile); 15 //创建输出流对象 16 fos=new FileOutputStream(targetFile); 17 18 //定义byte数组存放字节流(自定义大小) 19 byte [] b=new byte[1024]; 20 //返回一次流对象传输的字节大小 21 @SuppressWarnings("unused") 22 int i=0; 23 //当为空时会返回-1,以此终止流的传输 24 while((i=fis.read(b))>0){ 25 fos.write(b); 26 } 27 28 } catch (IOException e) { 29 e.printStackTrace(); 30 } finally{ 31 //最后释放流对象 32 try { 33 if(fis!=null){ 34 fis.close(); 35 } 36 if(fos!=null){ 37 fos.close(); 38 } 39 40 } catch (IOException e) { 41 e.printStackTrace(); 42 } 43 } 44 45 } 46 //字节流传输数据测试 47 // File copyFile =new File("D:\\File\\a\\b\\Integer.png"); 48 // File targetFile=new File("D:\\File\\a\\Integer.png"); 49 // inputAndOutput(copyFile,targetFile);
字符流
字符流输入:
1 /** 2 * 读取文件内容到控制台 3 * @param file 4 */ 5 public static void input(File file) { 6 //字符流对象 7 FileReader fr = null; 8 //包装字符流对象 9 BufferedReader br = null; 10 try { 11 fr = new FileReader(file); 12 br = new BufferedReader(fr); 13 String s=null; 14 do { 15 //按行读取 16 s=br.readLine(); 17 if(s!=null){ 18 System.out.println(s); 19 } 20 } while (s!=null); 21 22 } catch (IOException e) { 23 e.printStackTrace(); 24 } finally { 25 //关闭流,先外后内 26 try { 27 if (br != null) { 28 br.close(); 29 } 30 if (fr != null) { 31 fr.close(); 32 } 33 } catch (IOException e) { 34 e.printStackTrace(); 35 } 36 } 37 38 }
字符流输出:
1 //字符流输出 2 public static void Output(File file){ 3 FileWriter fw=null; 4 BufferedWriter bw =null; 5 try { 6 fw=new FileWriter(file,true);//true 表示在文件中追加,false表示覆盖 7 bw= new BufferedWriter(fw); 8 bw.write("你好呀"); 9 bw.newLine();//换行 10 bw.write("世界"); 11 bw.flush(); 12 } catch (IOException e) { 13 e.printStackTrace(); 14 } finally { 15 //关闭流,先外后内 16 try { 17 if (bw != null) { 18 bw.close(); 19 } 20 if (fw != null) { 21 fw.close(); 22 } 23 } catch (IOException e) { 24 e.printStackTrace(); 25 } 26 } 27 28 }
测试:
1 public static void main(String[] args) { 2 File file = new File("D:\\File\\a\\a.txt"); 3 // 4 input(file); 5 Output(file); 6 7 }
内容总结
以上是互联网集市为您收集整理的Java学习笔记之IO流全部内容,希望文章能够帮你解决Java学习笔记之IO流所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。