一.File的简介:(java.io包)
生活中的文件:
(1)文件的作用:持久化(瞬时状态的对立面状态)
(1)文件的定义:一堆数据的集合
(2)文件存储的位置:磁盘,硬盘,软盘,U盘等等
计算机中的文件File
(1)file的定义:java.io中的File类
(2)创建File:new File();创建文件实例
(3)File属性:文件的位置,文件的名称,文件的内容
File文件的增删查
(1)添加文件
public static void main(String[] args) throws IOException {
File file = new File("写上文件地址和文件名这一行在查询和删除中都要用");
file.createNewFile();
(2)查询文件
file.getname()获取文件名
file.getAbsolutPath()获取文件地址
(3)删除文件
file.delet()
生活中的流
(1)人流。车流。类似于人或者车的集合
计算机中流
(1)定义数据的集合(先进后出)
(2)流传递的方向:从原数据源传递到目标数据源
流的指向
(1)读入(从文件中读入到程序(idea)中)
(2)写出(从程序(idea)中写出到文件中)
流的分类*
(1)按流向分:输出流OutputStream和Write
输入流InputStream和reader
(2)按照处理单元分
字节流:OutputStream,InputStream
字符流:Write,reader
二.字节流
FileInputStream字节输入流实现读取
FileInputStream字节输入流实现数组读取
FileInputStream字节输入流FileOutputStream字节输出流实现复制
(1)FileInputStream字节输入流实现读取
psvm{ FileInputStream fis=null; fis=new FileInPutStream; int arraylength=0;
**while((arraylength=fis.read)!=-1){
**
sout((char)arraylength);}}
(2)FileInputStream字节输入流实现数组读取
**psvm{
FileInputStream fis=null;
fis=new FileInPutStream;
int arraylength=0;
byte[]bytes=new byte[1024]
while((arraylength=fis.read(bytes))!=-1){
for(int i=0;i<arrayleng;i++){
sout((char)byte[i])
}
} }
**
(3)FileInputStream字节输入流FileOutputStream字节输出流实现复制
psvm{
FileInputStream fis=null;
fis=new FileInPutStream;
FileOutputStream fos=null;
fos=new **FileOutputStream
**
int arraylength=0; byte[]bytes=new byte[1024] while((arraylength=fis.read(bytes))!=-1){ fos.write(bytes,0,arraylength);} }
三.字符流
字节流读取时中文乱码问题
FileReader字符流实现读取
FileWriter字符流实现写出
字节流有乱码问题,所以用字符流(处理中文不可以用字节流)
2.FileReader字符流实现读取
如果文件中出现中文需要用字符流输入字符串的输出
FileReader fr=null;
fr=new FileReader;
int arraylength=0;
char[]chars=new char[1024];
while((arraylength**=fr.reader(chars))!=-1){
for(int i=0;i
FileWrite fw=null;
fw=new FileWrite(" ");
fw.write(" ")
四.缓冲流
字符流FileReader加BufferedReader实现读取
字符流FileWriter加BufferedWriter实现写出
(1)字符流FileReader加BufferedReader实现读取
FileReader fr=null;
BufferedReader be=null;
fr=new FileReader()
br=new BufferedReader(fr);
String data=null;
while( (data=br.readLine())!=null;){
Sout(data)
}
(2)字符流FileWriter加BufferedWriter实现写出
FileWrite fw=null;
BufferedWrite bw=null;
fw=new FileWrite();
bw=new BufferedWrite(fw);
bw .write( "");
五.复制
1.字符流实现复制FileReader fr=null;
BufferedReader br=null;
FileWrite fw=null;
BufferedWrite bw=null
fr=new FileReader("");
br=new BufferedReader(fr);
fw=new FileWrite("");
bw=new Bufferedwrite;
String line=null;
StringBuffer buffer=new StringBuffer();
while((line=br.readLine())!=null){
buffer.append(line);
}bw.write(buffer.toString())
2.复制二进制文件(图片,视频)建议优先使用字节流加DataInputStream/DataOputStream的流(稳定防数据缺失)
FileInputStream fis=num;
DataInputStream dis=num;
FileOutputStream fos=num;
DaraOutputStream dos=num;
fis=new FileInputStream(“”);
dis=new DataInputStream(fis);
fos=new FileOutputStream(“”);
dos=new DataOutputStream(fos);
byte []bytes=new byte[1024];
int arrayleng=0;
while((arrayleng=dis.read(bytes)!=-1){
dos.write(bytes,0,arrayleng)
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章