import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
//java 字节流可以处理所有类型的数据,对应的类以Stream结尾,读取时,读到一个字节就返回一个字节
//字符流,只能够处理纯文本数据,对应的类以Reader或者Writer结尾,读取到一个或者多个字符,先查找指定的编码表,在返回查到的字符
public class IODemo {
public static void main(String[] args) {
//使用字节流读取数据
try {
FileInputStream fin=new FileInputStream("data.txt");
byte input[]=new byte[20]; //创建字节数组,大小不超过文件,规定一次性读到字节大小
fin.read(input); //读取到字节数组
String inputString=new String(input); //转换为字符串
System.out.println(inputString);
fin.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//输出数据
try {
FileOutputStream fos=new FileOutputStream("data.txt");
String outstring="wade123";
byte output[]=outstring.getBytes("UTF-8");
fos.write(output);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//拷贝文件
try {
FileInputStream fis=new FileInputStream("data1.txt"); //拷贝对象
FileOutputStream fos=new FileOutputStream("data1 new.txt"); //拷贝到新的文件
byte input[]=new byte[20];
try {
fis.read(input); //数据读取到数组
while(fis.read(input)!=-1){ //如果还有数据
fos.write(input); //写出到文件
}
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
极客学院 java 字节读取与文件拷贝 代码笔记
最新推荐文章于 2023-09-16 19:05:01 发布