博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
I/O流
阅读量:6435 次
发布时间:2019-06-23

本文共 3926 字,大约阅读时间需要 13 分钟。

boolean exists(): 判断这个文件是否存在

boolean mkdir(): 创建文件夹路径(只能建一层)--make Directory
boolean mkdirs(): 创建文件夹路径
createNewFile(): 创建文件
delete(): 删除文件
renameTo(File file): 对文件进行更名操作
getName: 获取文件名称
getPath: 获取文件路径
length: 获取文件大小
isDirectory: 判断这个东西是不是一个目录
isFile: 判断这个东西是不是一个文件
File[] listFiles: 获取当前这个路径下面所有的文件和文件夹

 

 

In / Out流

什么是流
流, 可以看成是一根管道, 用来读取文件的数据
原始的数据都是用过二进制的形式来进行数据的传输,
文件---10111010-->程序
文件<--10111010---程序
流的分类
按照数据流的方向
输入流(Input), 输出流(Output)
输入流: 从文件往程序走数据
输出流: 从程序往文件走数据

 

按照处理数据的单位不同:

八大数据类型所占字节数:
byte(1), short(2), int(4), long(8)
float(4), double(8)
boolean(1)
char(2)

 

字节流(以stream结尾的), 字符流(以Reader, Writer结尾的)

字节流: 一个字节占8位, 以一个字节为单位读数据
字符流: 一个字符占两个字节, 以一个字符为一个单位
按照功能分:
节点流, 处理流
节点流: 只有一个根管道套在文件上进行传输
处理流: 将节点流处理一下, 增强管道的功能, 相当于在管道上套一层

 

 

import java.io.File;public class FileTest {    public static void main(String[] args){         File file=new File("D:\\0603\\Student.txt");         System.out.println(file.getName());         printf(file,1);    }     public static void printf(File file,int len){         if(file.exists()){   //检验文件是否存在             File[] file2 = file.listFiles();                for(File f:file2){                    if(f.isDirectory()){    //判断文件是否是一个目录                        printBlank(len);    //创建空格                        System.out.println(f.getName());                        printf(f,len+1);                    }else{                        printBlank(len);                        System.out.println(f.getName());                    }                }          }else{             System.out.println("该文件不存在");         }     }    private static void printBlank(int len) {        for(int i=0;i

InputStream的基本方法:

 

int read(): 每次调用这个方法, 就读取一个字节, 以整数的形式返回

int read(byte[] buffer---缓冲区): 让流每次读满一个缓冲区, 再统一处理, 先存在缓冲区里, 返回值int是返回实际当中读取了多少字节数(伤硬盘的原理)
int read(byte[] buffer, int offset, int length): 也是一个缓冲区, 读取length长度的字节数, 存到buffer的缓冲区里, 从buffer的offset位置开始存, 返回值是实际读了多少字节数
close(): 关闭资源

 

OutputStream的基本方法

 

void write(int b)

void write(byte[] b)
int wirte(byte[] buffer, int offset, int length)
close()
flush(): 将缓冲区中的文件全部写出
在使用流的时候的一个良好的习惯, 先flush, 再close

Reader的基本方法:

int read()
int read(char[] c)
int read(char[] c, int offset, int length)
close()

Writer的基本方法:

void write()
void write(char[] c)
void write(char[] c, int offset, int length)
// 直接写一个字符串出去, 字符串里面的有一个方法s.toCharArray(), 查API
void write(String s)
void write(String s, int offset, int length)
close()
flush()

 

FileInputStream , FileOutputStream

 

import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;public class Text1 {    public static void main(String[] args){        File file=new File("D:\\0603\\person.txt");        //File file_out=new File("D:\\0603\\Student.txt");        int a=-1;        try{            InputStream in = new FileInputStream(file);            //OutputStream out= new FileOutputStream(file_out);            while((a=in.read()) != -1){                System.out.print((char)a);            }            in.close();                    }catch(FileNotFoundException e){            e.printStackTrace();        }catch(IOException e){            e.printStackTrace();        }    } }

 

BufferedReader

           readLine()---每次调用就会读取一行

BufferedWriter

           writeLine(String s)---每次调用写出一行

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;public class Text2 {    public static void main(String[] args){        String content[] = {"Java部","快速入门"};  //定义字符串数组        File file=new File("D:\\0603\\Student.txt");        Reader reader = null;      //定义字符串        try{            FileWriter fw = new FileWriter(file);    // 创建FileWriter类对象            BufferedWriter bufw = new BufferedWriter(fw);   //创建BufferedWriter类对象            for(int k=0;k

 

转载于:https://www.cnblogs.com/jgjk/p/7264762.html

你可能感兴趣的文章
php初学第一课
查看>>
Windows下与Linux下编写socket程序的区别 《转载》
查看>>
java学习笔记 --- IO(3)
查看>>
Mysql 的FIND_IN_SET函数慢的忧化
查看>>
Web service是什么?
查看>>
python 问题集合
查看>>
豌豆荚工程师谈其新版应用搜索技术
查看>>
螺旋阵(递归和非递归)
查看>>
我的爷爷(知识渊博的下乡知青)
查看>>
jQuery动画连续触发、滞后反复执行解决办法
查看>>
uva 10405 Longest Common Subsequence
查看>>
HttpFileCollection类
查看>>
Eclipse使用常见设置
查看>>
控制台下的字符图像界面
查看>>
c++ 数组形参
查看>>
Memcache的安全
查看>>
KVM/Xen and libvirt: currentMemory, memory and ballooning
查看>>
metasploit 笔记
查看>>
hdu 2845(最大不连续子序列)
查看>>
J2me的异常处理和多线程
查看>>