javaIO类图
IO类图
https://blog.csdn.net/luofenghan/article/details/75503750
字节流
字节流
image.png
字符流
字符流
字符流
一、什么地方用到IO?
本地文件读写、网络文件传输入、网络数据传输。
案例1:文件写入
package com.hxw.io;
import java.io.*;
public class FileExample{
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(); //创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
// f.delete(); // 删除此抽象路径名表示的文件或目录
System.out.println("文件名 "+f.getName()); // 返回由此抽象路径名表示的文件或目录的名称。
System.out.println("文件父目录字符串 "+f.getParent());// 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
}catch (Exception e) {
e.printStackTrace();
}
}
}
案例2:文件复制
package com.joychen.io01;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyFile {
public static void main(String args[]) {
// TODO自动生成的方法存根
byte[] buffer = new byte[512]; //一次取出的字节数大小,缓冲区大小
int numberRead = 0;
FileInputStream input = null;
FileOutputStream out = null;
try {
input = new FileInputStream("D:/David/Java/java 高级进阶/files/tiger.jpg");
out = new FileOutputStream("D:/David/Java/java 高级进阶/files/tiger2.jpg"); //如果文件不存在会自动创建
while ((numberRead = input.read(buffer)) != -1) { //numberRead的目的在于防止最后一次读取的字节小于buffer长度,
out.write(buffer, 0, numberRead); //否则会自动被填充0
}
} catch (final IOException e) {
// TODO自动生成的 catch 块
e.printStackTrace();
} finally {
try {
input.close();
out.close();
} catch (IOException e) {
// TODO自动生成的 catch 块
e.printStackTrace();
}
}
}
}
2:序列化:
网友评论