IO流--FileReader&&FileWriter

(一)FileReader

(1)第一种读取方式

package com.songyan.fileReader;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 * FileReader第一种读取方式
 * @author Administrator
 *
 */
public class Demo1 {
    public static void main(String[] args) throws IOException {
        FileReader fileReader=new FileReader("demo.txt");
        int ch=0;
        while((ch=fileReader.read())!=-1)
        {
            System.out.print((char)ch);
        }
        fileReader.close();
    }

}

(2)第二种读取方式

package com.songyan.fileReader;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Demo2 {
public static void main(String[] args) throws IOException {
    FileReader reader=new FileReader("demo.txt");
    char[] arr=new char[8192];
    int len=0;
    while((len=reader.read(arr))!=-1)
    {
        System.out.print(new String(arr));
    }
    reader.close();
}
}

(二)FileWriter

package com.songyan.filewriter;

import java.io.FileWriter;
import java.io.IOException;
/**
 * 第一个demo
 * @author Administrator
 *
 */
public class Demo1 {
    public static void main(String[] args) {
        try {
            FileWriter fileWriter=new FileWriter("/src/com/songyan/fileReader/Demo2.java");
            fileWriter.write("hahha");
            fileWriter.flush();
            fileWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

异常处理

package com.songyan.filewriter;

import java.io.FileWriter;
import java.io.IOException;
/**
 * 标准IO处理异常的方式
 * @author Administrator
 *
 */
public class Demo2 {
public static void main(String[] args) {
    FileWriter fileWriter=null;
    try {
        fileWriter = new FileWriter("demo1.txt");
        fileWriter.write("hahahh");
        fileWriter.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }finally{
        try {
            if(fileWriter!=null)
                fileWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
}

换行符&&续写

package com.songyan.filewriter;

import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
/**
 *
 * @author Administrator
 * 回车符:\r\n
 * 续写:
 */
public class Demo3 {
public static void main(String[] args) {
    FileWriter writer=null;
    try {
        writer = new FileWriter("demo1.txt");
        writer.write("dddd\r\n");
        writer.write("dddd\r\n");
        writer.write("dddd\r\n");
        writer.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }finally{
        try {
            if(writer!=null)
                writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
}

(三)代码练习

打印一个java文件控制台

package com.songyan.test;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 * 打印一个java文件到控制台
 * @author Administrator
 *
 */
public class Test1 {
public static void main(String[] args) throws IOException {
    FileReader reader=new FileReader("src/com/songyan/fileReader/Demo2.java");
    char[] arr=new char[8192];
    int len=0;
    while((len=reader.read(arr))!=-1)
    {
        System.out.print(new String(arr));
    }
    reader.close();

}
}

将c盘一个文件拷贝到D盘

package com.songyan.test;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 将c盘一个文件拷贝到D盘
 * @author Administrator
 *
 */
public class Test2 {
    /**
     * 读一个写一个
     * @throws IOException
     */
    public static void copy1() throws IOException
    {
        FileReader reader=new FileReader("C:\\Users\\langchao1\\AppData\\Local\\IconCache.db");
        FileWriter writer=new FileWriter("D:\\IconCache1.db");
        int sig=0;
        while((sig=reader.read())!=-1)
        {
            writer.write((char)sig);
        }
        reader.close();
        writer.close();
    }

    /**
     * 先读后写
     * @throws IOException
     */
    public static void copy_my() throws IOException
    {
        //读取C盘文件
        FileReader reader=new FileReader("C:\\Users\\langchao1\\AppData\\Local\\IconCache.db");
        char[] arr=new char[8192];
        int len=0;
        String str="";
        while((len=reader.read(arr))!=-1)
        {
            str=str+new String(arr);
        }
        //写入D盘
        FileWriter writer=new FileWriter("D:\\IconCache.db");
        writer.write(str);
        writer.flush();
        writer.close();
    }

    /**
     * 一次读取arr【】
     */
    public static void copy2()
    {
        FileReader reader=null;
        FileWriter writer=null;

        try{
             reader=new FileReader("C:\\Users\\langchao1\\AppData\\Local\\IconCache.db");
             writer=new FileWriter("D:\\I.db");
             char[] arr=new char[8192];
             int len=0;
             while((len=reader.read(arr))!=-1)
             {
                 writer.write(arr);
             }

        }catch(IOException e)
        {
            e.printStackTrace();
        }finally{
            try {
                if(reader!=null)
                    reader.close();
                if(writer!=null)
                    writer.close();
            } catch (Exception e2) {
            }
        }
    }

    /**
     * 最优形式:只读取有效部分
     */
    public static void copy_final()
    {
        FileReader reader=null;
        FileWriter writer=null;

        try{
             reader=new FileReader("C:\\Users\\langchao1\\AppData\\Local\\IconCache.db");
             writer=new FileWriter("D:\\I.db");
             char[] arr=new char[8192];
             int len=0;
             while((len=reader.read(arr))!=-1)
             {
                 writer.write(arr,0,len);
             }

        }catch(IOException e)
        {
            e.printStackTrace();
        }finally{
            try {
                if(reader!=null)
                    reader.close();
                if(writer!=null)
                    writer.close();
            } catch (Exception e2) {
            }
        }
    }
public static void main(String[] args) throws Exception {

    copy2();

}
}

原文地址:https://www.cnblogs.com/excellencesy/p/9188944.html

时间: 2024-08-28 20:45:18

IO流--FileReader&&FileWriter的相关文章

黑马程序员——20.1,IO流,FileWriter,FileReader

------<ahref="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 黑马程序员--20,IO流,FileWriter,FileReader /* IO流的介绍: IO流式用来处理数据传输的,与IO流相关的类都定义在了java.io包里面 按照操作类型分:字节流和字符流,其中的字符流与文字编码表有关. 字节流

JAVA学习笔记(三十二)- 字符流 FileReader &amp; FileWriter

标题 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream;

黑马程序员——21,字符流FileReader,FileWriter,BufferedWriter,BufferedReader,装饰设计模式,LineNumberReader

------<ahref="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- /* 字符流的缓冲区技术: 对于一些大文件,如果读取一个字符才写一个字符,读写操作过于频繁. 为了解决这个问题,引入了缓冲区技术. 缓冲区技术是在流的基础上(必须要先有流)增强了流对于数据的操作效率. 就如同在水龙头上拿水喝,原本是一滴一滴

Java基础-简单的字符流-FileReader,FileWriter

简介:如题 package com.cc.test; import java.io.FileReader; import java.io.FileWriter; public class TestChar { public static void main(String[] args) { FileReader fReader = null; FileWriter fWriter = null; try{ fReader = new FileReader("E:/Android/AndroidS

Java IO流 之 FileWriter 以字符写入文件

http://www.verejava.com/?id=16994663236510 package com.io; import java.io.*; public class TestWriter { public static void main(String[] args) { Writer writer=null; try { writer=new FileWriter(new File("res/writer_test.txt")); //向文件中写入数据 String c

Io流的使用

file的使用 文件流的使用 FileInpunStream  FileOutOputStream   ----------字符流 FileReader Filewriter --------字节流   如下代码读取文件的内容并将其输入显示器上 package com.nanjing.file; import java.io.FileReader; public class TestFileReader { /** * @param args */ public static void main

文件传输基础——Java IO流

第一章 文件的编码 package com.imooc.io; public class EncodeDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String s="欢迎你ABC"; byte[] byte1=s.getBytes(); for (byte b : byte1) { //把字节转换成16进制的方式显示 Sys

java学习笔记--IO流

第十二章大纲: I/O input/output 输入/输出 一.创建文件,借助File类来实现 file.createNewFile() : 创建文件 file.exists() : 判断文件是否存在,如果存在,则返回true delete() : 删除文件,如果删除成功,则返回true deleteOnExit() : 程序退出的时候才删除文件 二.创建文件夹 exists() : 判断文件夹是否存在,如果存在,则返回true delete() : 删除文件夹,如果删除成功,则返回true

理解IO流:InputStream和OutputStream,FileInputStream和FileOutputStream,Reader和Writer,FileReader和FileWriter,BufferedInputStream 和 BufferedOutputStream, BufferedReader 和 BufferedWriter,转换流

/* * 1.理解 "流" ? * 动态性.连续性.方向性. * * 2.在java语言中,将数据的输入/输出称之为 IO流. IO流的分类: * 1) 从方向分: 输入流 , 输出流. (参照计算机的内存) * 将数据送到内存中去称之为输入流.反之,称之为输出流. * * 2) 从处理单位来分: 字节流(8位二进制数据), 字符流(16位二进制数据). * * 3) 从是否有数据源来分: 节点流(有数据源), 处理流(必须套在节点流上). * * 3.在Java语言中,所有流类均来自