(一)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(); }
}

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

  1. 黑马程序员——JAVA基础之IO流FileReader,FileWriter

    ------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流  IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 J ...

  2. Java I/O---字符与字节转换流---FileReader&FileWriter:

      public class SubTransStreamDemo { /** * @param args * @throws IOException */ public static void ma ...

  3. IO流7 --- FileWriter写出数据的操作 --- 技术搬运工(尚硅谷)

    FileWriter字符输出 @Test public void test3(){ File file = new File("hello1.txt"); FileWriter f ...

  4. java学习笔记--IO流

    第十二章大纲: I/O input/output 输入/输出 一.创建文件,借助File类来实现 file.createNewFile() : 创建文件 file.exists() : 判断文件是否存 ...

  5. Java中IO流的总结

    有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...

  6. Io流的使用

    file的使用 文件流的使用 FileInpunStream  FileOutOputStream   ----------字符流 FileReader Filewriter --------字节流  ...

  7. 一文看懂java的IO流

    废话不多说,直接上代码 import com.fasterxml.jackson.databind.ObjectMapper; import java.io.*; import java.nio.ch ...

  8. java中的io流总结(一)

    知识点:基于抽象基类字节流(InputStream和OutputStream).字符流(Reader和Writer)的特性,处理纯文本文件,优先考虑使用字符流BufferedReader/Buffer ...

  9. IO流的简单实现

    IO流的几种实现方式 学习目标: 例题: 字节输出流 字节输入流 字符输入流 字符输出流 学习目标: 熟练掌握IO流的基本实现方式 例题: 字节输出流 代码如下: public class Outpu ...

随机推荐

  1. hbase监控实现

    目前实现的监控概览

  2. Python代码规范

    一:背景 用于规范化ocp python开发,对于使用python开发的程序使用统一的风格,便于代码的维护 二:python风格规范 分号:不要在行尾加分号,也不要用分号将两条命令放在同一行 括号:宁 ...

  3. rsync安装使用详解

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬 ...

  4. idea真不习惯啊

    http://blog.csdn.net/z69183787/article/details/41416189

  5. sort函数_C++

    C++的STL库里有一个 sort 函数,它就是随机化快速排序,速度比快速排序还快,因为它克服了逆序时被卡成O(n2)的情况 想要使用 sort 首先要在头文件里申明 #include<algo ...

  6. 利用opencv自带源码,调试摄像头做人脸检测

    本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring 和 http://www.cnblogs.com/xujianqing/ 作者: ...

  7. Swift 闭包(六)

    http://blog.csdn.net/huangchentao/article/details/32714185 闭包 Closures 1.闭包表达式 闭包表达式是一种利用简单语法构建内联包的方 ...

  8. Ubuntu Touch环境搭建

    最近搞了一下Nexus 5的MultiRom Manger,体验了一把Ubuntu Touch和Android L,总体感觉还不错,不过Android L的NFC驱动还有问题,Ubuntu Touch ...

  9. 操作MySQL数据库相关代码

    注意事项: 1.导入驱动包,如我导的是mysql-connector-java-5.1.26-bin.jar 2.修改下面代码中的用户名和密码 3.其中URL为"jdbc:mysql://数 ...

  10. go语言的定时器

    package main import ( "fmt" "time" ) func main(){ //创建一个定时器,时间为2s,2s过后会自动往通道里面写入 ...