初涉java(io编程)
来源:互联网 发布:mac上app store打不开 编辑:程序博客网 时间:2024/06/01 18:02
需引入包java.io.*;
java流的分类
①按流向分:
输入流: 程序可以从中读取数据的流。【数据从数据源(文件)到程序(内存)的路径】
输出流: 程序能向其中写入数据的流。【数据从程序(内存)到数据源(文件)的路径】
②按数据传输单位分:
字节流: 以字节为单位传输数据的流(可以用于读写二进制文件及任何类型的文件)
字符流: 以字符为单位传输数据的流(可以用于读写文本文件,不能操作二进制文件)
③按功能分:
节点流: 用于直接操作目标设备的流
过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。
基本用法
当所给出的路径已存在这个文件即可直接使用
//创建一个文件对象 File f=new File("d:\\a.txt"); //得到文件的路径 f.getAbsolutePath(); //得到文件的大小(字节大小) f.length(); //文件是否可读(若可读返回true) f.canRead();
当给出的路径不存在这个文件,可自行创建
//创建文件 File ff=new File("d:\\aa.txt"); if(!ff.exists()) { //不存在这个文件,可以创建 try { ff.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { //文件已存在,不能创建,执行其他操作 }
也可以创建文件夹
File fff=new File("d:\\aaa.txt"); if(!fff.isDirectory()) { //不存在这个文件夹,可创建 fff.mkdir(); } else { //已存在不能创建 }
通过利用数组列出文件夹下的所有文件
//列出一个文件夹下面的所有文件 File f=new File("d:\\ff"); if(f.isDirectory()) { File lists[]=f.listFiles(); for(int i=0;i<lists.length;i++) { System.out.println("文件名:"+lists[i].getName()); } }
FileInputStream类的使用
File f=new File("d:\\test.txt"); //因为File没有读写的能力,所以需要使用InputStream FileInputStream fis=null; try { fis=new FileInputStream(f); //定义一个字节数组(相当于缓存,不可能一下子把文件中的数据全读出来,而是相当于按照一定的规律分组读出来) byte []bytes=new byte[1024]; int n=0;//得到实际读取到的字节数 while((n=fis.read(bytes))!=-1) { //把字节转化成String String s=new String(bytes,0,n); System.out.println(s); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //文件一旦打开了就要记得关闭,关闭文件流必须放这里 try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
FileOutputStream类的使用
File f=new File("d:\\ss.txt"); //字节输出流 FileOutputStream fos=null; try { fos=new FileOutputStream(f); String s="abc,hello,world";//如果想在文件中换行,则可以在字符串后面添加“\r\n” fos.write(s.getBytes()); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
0 0
- 初涉java(io编程)
- Java IO编程(1)
- JAVA流技术(IO编程)
- Java网络编程(新IO概述)
- Java IO编程-文件(2)
- java编程思想io(源码)
- Java IO编程[转载]
- Java IO编程
- Java IO编程
- Java -网络IO编程
- Java编程IO
- Java 网络IO编程
- java io 编程题
- java IO编程模型
- java学习之 io编程(文件编程)
- Java编程中的IO系统
- 08---java IO编程01
- 08---java IO编程02
- Chronometer
- PAT - 1058. 选择题(20)
- HDU 4810 Wall Painting(组合数学 + 位运算)——2013ACM/ICPC亚洲区南京站现场赛
- 面试总结
- poj算法刷题进阶
- 初涉java(io编程)
- python爬虫-爬取盗墓笔记
- PAT - 1059. C语言竞赛(20)
- skyline测试页面
- JavaSpring使用Quartz任务调度定时器
- Java 多线程之 Runnable VS Thread 及其资源共享问题
- HDU 5894 hannnnah_j’s Biologica(lucas定理求组合数+乘法逆元)——2016 ACM/ICPC Asia Regional Shenyang Online
- 关于Redhat下静态路由添加的几种方法
- 大型网站架构模式