Java IO流
2016-03-08 15:24
183 查看
1.Java文件系统管理
File类的用途
java.io.File 基本API
File API方法
2.IO流(InputStream, OutputStream)
Java中的 IO流是实现输入/输出的基础。
3.FileInputStream
文件输入流 FileInputStream 继承了 InputStream,FileInputStream具体实现了在文件上读取数据。
4.FileOutputStream
文件输出流 FileOutputStream继承了OutputStream, FileOutputStream实现了向文件中写出byte数据的方法。
File类的用途
java.io.File 用于表示文件(目录),也就是说程序员可以通过File 类在程序中操作硬盘上的文件和目录。 File类只用于表示文件(目录)的信息(名称、大小等),不能对文件的内容进行访问。
java.io.File 基本API
- File(String) 指定文件名的构造器 - longlength() 文件的长度 - longlastModified() - StringgetName() - StringgetPath() - booleanexists() - booleandir.isFile() - booleandir.isDirectory() - booleanmkdir() - booleanmkdirs() - booleandelete() - booleancreateNewFile()throwIOException - File[]listFile()
File API方法
/** *2016年3月8日下午3:29:55 *@author John *任务: *1.检查当前文件夹中是否包含目录demo *2.如果没有demo,就创建文件夹demo *3.在demo中创建文件test.txt *4.显示demo文件夹的内容 *5.显示test.txt的绝对路径名 *6.显示test.txt的文件长度和创建时间 */ public class FileDemo { public static void main(String[] args) throws IOException { File dir = new File("."); //显示路径 System.out.println(dir.getCanonicalPath()); //pwd //1. File demo = new File(dir, "demo");//不是在磁盘上创建 if (! demo.exists()) { //2. demo.mkdir(); } //3. File test = new File(demo, "test.txt"); if (! test.exists()) { //空文件,长度为0 test.createNewFile(); //touch } //4.显示目录内容 File[] files = demo.listFiles(); System.out.println(files); //5. System.out.println(test.getCanonicalPath()); //6. System.out.println(test.length()); System.out.println(new Date(test.lastModified())); //删除文本和目录 test.delete(); demo.delete(); } }
2.IO流(InputStream, OutputStream)
Java中的 IO流是实现输入/输出的基础。
- InputStream、OutputStream都是抽象类 InputStream抽象了应用程序读取数据的方式 OutputStream抽象了应用程序写出数据的方式 - EOF = End of File = -1 - 输入流基本方法: int b = in.read() 读取一个byte无符号填充到int低八位,-1是EOF in.read(byte[] buf) 读取数据填充到buf中 in.read(byte[]buf,intstart,intsize) 读取数据填充到buf中 in.skip(longn) in.close(); - 输出流的基本方法: out.write(int b) 写出一个byte到流b的低八位写出 out.write(byte[]buf) 将缓冲区buf都写入到流 out.write(byte[] buf, int start, int size) 将buf的一部分写到流中 out.flush() 清理缓冲 out.close();
3.FileInputStream
文件输入流 FileInputStream 继承了 InputStream,FileInputStream具体实现了在文件上读取数据。
public static void printHex(String fileName) throws IOException { //创建文件输入流对象 FileInputStream in = new FileInputStream(fileName); int b; //循环读取byte while ((b = in.read()) != -1) { if (b <= 0xf) { System.out.println("0"); } System.out.println(Integer.toHexString(b)+" "); } in.close(); } public class IOUtils_01Demo { public static void main(String[] args) throws IOException { IOUtils_01.printHex("demo/"); } }
4.FileOutputStream
文件输出流 FileOutputStream继承了OutputStream, FileOutputStream实现了向文件中写出byte数据的方法。
public class FileOutDemo { public static void main(String[] args) throws IOException { FileOutputStream out = new FileOutputStream("demo/out.dat"); out.write('A'); out.write('B'); int a = -3; out.write(a>>>24); out.write(a>>>16); out.write(a>>>8); out.write(a); byte[] gbk = "中国".getBytes("gbk"); out.write(gbk); out.close(); IOUtils_01.printHex("demo/out.dat"); } }
相关文章推荐
- Java集合类详解 set、list、map、
- leetcode 120.Triangle | Java最短代码实现
- Java:按值传递还是按引用传递详细解说
- 利用java自带的base64实现加密、解密
- 图的理解:深度优先和广度优先遍历及其 Java 实现
- java第六天
- 使用IntelliJ IDEA 15和Maven 开发Spring Data JPA + MVC Web应用
- Java反射机制详解
- Java IDE中设置作者日期等Javadoc注释信息
- 关于同步VSS服务器上的代码发生Eclipse里面的项目全部不见了
- Java实现最基本的集中排序
- Java 反转单链表
- java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
- eclipse生成Hibernate注解类【续】
- spring使用<mvc:annotation-driven/>来解决定时任务
- spring boot环境下使用quartz设置定时任务
- springMVC框架访问web-inf下的jsp文件
- struts2 默认Action
- Eclipse 未正常退出,导致进不去的问题
- Maven环境搭建与在Eclipse中的配置