码迷,mamicode.com
首页 > 其他好文 > 详细

File IO

时间:2020-06-15 18:07:43      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:相对路径   https   遍历   循环   ade   保存   通用   java   buffered   

文件的输入输出处理

什么是文件?

文件可认为是相关记录或放在一起的数据的集合

File类常用方法

方法名称说 明
boolean exists( ) 判断文件或目录是否存在
boolean isFile( ) 判断是否是文件
boolean isDirectory( ) 判断是否是目录
String getPath( ) 返回此对象表示的文件的相对路径名
String getAbsolutePath( ) 返回此对象表示的文件的绝对路径名
String getName( ) 返回此对象表示的文件或目录的名称
boolean delete( ) 删除此对象指定的文件或目录
boolean createNewFile( ) 创建名称的空文件,不创建文件夹
long length() 返回文件的长度,单位为字节, 如果文件不存在,则返回 0L

如何读写文件?

通过流来读写文件:

流是指一连串流动的字符,是以先进先出方式发 送信息的通道

使用文件流的步骤:

1.引入相关的类

2.创建输入流/l输出流对象

3.读取/写入文本文件的数据

4.关闭相关的流对象

Java流的分类:

流向分:

输入流InputStream和Reader作为基类

输出流OutputStream和writer作为基类

输入输出流是相对于计算机内存来说的

单位分:

字节流是 8 位通用字节流,字符流是 16 位 Unicode 字符流

角色分:

缓冲流 BufferedInputStreamOutputStream;Buffered;BufferedReader;BufferedWriter;

处理流 FileInputStream; FileOutputStream; FileReader; FileWriter

 

文本文件的读写

用FileInputStream和FileOutputStream读写文本文件

//写文件
        System.out.print("请输入文件名:");
        String name=sca.next();
        File file=new File(name+".txt");//文件名        相对路径(项目名根目录下)
//      FileOutputStream fs=new FileOutputStream(file);                //如果文件存在 覆盖
        FileOutputStream fos=new FileOutputStream(file,true);//true表示追加,如果文件存在 向里面继续添加内容
        System.out.println("请输入写入的内容:");
        String str=sca.next();
        byte bytes[]=str.getBytes();         //FileOutputStream 是基于字节流  把要写入的信息 保存到字节数组中
        fos.write(bytes,0,bytes.length);//将字节数组中全部内容写到文件中   从0—数组的长度
        fos.close();//关闭流
        System.out.println("文件写入成功!");
 
        //读文件
        FileInputStream fis=new FileInputStream(file);
        byte bt[]=new byte[1024];//1KB       每次最多读取的1KB  根据文件大小而定
        int temp=0;
        while((temp=fis.read(bt))!=-1){    //将数据保存到数组(缓冲区)中 并返回读取的字节数  -1表示读完了
            System.out.println(new String(bt,0,temp));//输出数组中保存内容 按照每次读取的字节数
        }
        fis.close();
    }

————————————————
版权声明:本文为CSDN博主「Always_As」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Chianz632/java/article/details/79946851

 

用BufferedReader和BufferedWriter读写文本文件

 1 public static void main(String[] args) {
 2 String[] content={"我是中国人","我爱我的祖国"};//创建字符串
 3 File file=new File("D:\\test\\c.txt");//创建文件目录对象
 4 try {
 5 FileWriter fw=new FileWriter(file);//创建字符输出流类对象
 6 BufferedWriter bw=new BufferedWriter(fw);//创建上一层输出流对象
 7 for(String str:content){bw.write(str);bw.newLine();}//遍历content循环,得到字符串。写入字符串并换行
 8 bw.close();//关闭上一层输出流
 9 fw.close();//关闭输出流
10 FileReader fr=new FileReader(file);//创建输入流对象
11 BufferedReader br=new BufferedReader(fr);//创建上一层输入流对象
12 String string=null;//声明一个字符串为空
13 while((string=br.readLine())!=null){System.out.println(string);}//读出字符串不为空的循环,打印字符串
14 br.close();//关闭上层输入流
15 fr.close();//关闭下层输入流
16 } catch (IOException e) {
17 // TODO Auto-generated catch block
18 e.printStackTrace();
19 }
20 
21 }
22 
23 输出:
24 
25 我是中国人
26 我爱我的祖国
27 ————————————————
28 版权声明:本文为CSDN博主「马利诺兰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
29 原文链接:https://blog.csdn.net/jyh210323/java/article/details/69219994

 

二进制文件的读写

使用DataInputStream和DataOutputStream读写二进制文件

读:

实现步骤:

引入相关的类;

构造数据输入流对象

read ()方法读取二进制数据

关闭数据输入流;

写:

实现步骤:

引入相关的类;

构造数据输出流对象;

方法写二进制文件;

关闭数据输出;

 

File IO

标签:相对路径   https   遍历   循环   ade   保存   通用   java   buffered   

原文地址:https://www.cnblogs.com/bokedizhi97/p/13131894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!