java io总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java io总结相关的知识,希望对你有一定的参考价值。
这篇文章思路还不错,原文链接:http://blog.csdn.net/yczz/article/details/38761237
总结一下java io,记录自己的学习过程
首先看图(这只是io的一部分,查看API会发现比这庞大很多)
一 java io开始
io就是指流,流是从文件开始,相关处理类是FIle类
package com.shangcg.io; import java.io.File; /** * File类简述(只是简述常用,并非全部) * 1 File类有4个public的构造函数 * new file(String) * new file(String,String) * new file(File,String) * new file(URI) * 2 创建方法 * 1.boolean createNewFile() 不存在返回true 存在返回false 2.boolean mkdir() 创建目录 3.boolean mkdirs()创建多级目录 3 删除方法 1.boolean delete() 2.boolean deleteOnExit() 文件使用完成后删除 4 判断方法 1.boolean canExecute()判断文件是否可执行 2.boolean canRead()判断文件是否可读 3.boolean canWrite() 判断文件是否可写 4.boolean exists() 判断文件是否存在 5.boolean isDirectory() 6.boolean isFile() 7.boolean isHidden() 8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断 5 获取方法 1.String getName() 2.String getPath() 3.String getAbsolutePath() 4.String getParent()//如果没有父目录返回null 5.long lastModified()//获取最后一次修改的时间 6.long length() 7.boolean renameTo(File f) 8.File[] listRoots()//获取机器盘符 9.String[] list() 10.String[] list(FilenameFilter filter) * */ public class FileDemo { public static void main(String[] args) { createFile(); } /** * 文件处理示例 */ public static void createFile() { File f=new File("E:/电脑桌面/jar/files/create.txt"); try{ f.createNewFile(); //当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。 System.out.println("该分区大小"+f.getTotalSpace()/(1024*1024*1024)+"G");//返回由此抽象路径名表示的文件或目录的名称。 f.mkdirs(); //创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 System.out.println("文件名 "+f.getName()); // 返回由此抽象路径名表示的文件或目录的名称。 System.out.println("文件父目录字符串 "+f.getParent());// 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。 }catch (Exception e) { e.printStackTrace(); } } }
二 字节流(通常用于图片、音频等处理)
由开头图片可知
InputStream这个抽象类是所有基于字节的输入流的超类,OutputStream这个抽象类是所有基于字节的输出流的超类
package com.shangcg.io; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; /** * InputStream简述 * * 1 读入相关方法:读入相关的方法是这个类的核心方法。有3种重载的形式 * 1 int read() 读取流的下一个字节,到达流末尾返回-1 * 2 int read(byte b[]) * 3 int read(byte b[], int off, int len) * * 2 int available()读入(调用read)或者跳过(skip)之前先探测一下有多少可用字节 * 3 long skip(long n) 跳过当前流的n个字节,返回实际跳过的字节数 * 4 void mark(int readlimit)用于在流的当前位置做个标记,参数readLimit指定这个标记的“有效期“ * 5 void reset()用于重定位到最近的标记。如果在这之前mark方法从来没被调用,或者标记已经无效,则抛出IOException * 6 boolean markSupported()检测当前流对象是否支持标记。是返回true。否则返回false * 7 void close()关闭当前流,释放与该流相关的资源,防止资源泄露 * */ public class InputStreamDemo { public static void main(String[] args) throws IOException{ /**available演示开始*/ /**简述:这个方法通常不单独使用,通常在在读入流之前进行调用检测可读字节数*/ InputStream is = null; try { is = new FileInputStream("D:/test.txt"); System.out.println("available: " + is.available()); } finally { if (is != null) { is.close(); } } /**available演示结束*/ /**read()演示开始*/ /**简述:读取输入流的下一个字节,返回一个0-255之间的int类型整数,到达流的末端,返回-1*/ try { is = new FileInputStream("D:/test.txt"); int i; while ((i = is.read()) != -1) { //此处i为字符对应的ascii十进制数字,需要转化char,不信去掉试试 System.out.println("out: " + (char)i); } } catch (Exception e) { e.printStackTrace(); } finally { if (is != null) { is.close(); } } /**read演示结束*/ } }
未完明日补充
以上是关于java io总结的主要内容,如果未能解决你的问题,请参考以下文章