(一)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. transition(动画属性)

    CSS 过渡(transition)是通过定义元素从起点的状态和结束点的状态,在一定的时间区间内实现元素平滑地过渡或变化的一种补间动画机制.你可以让属性的改变过程持续一段时间,而不是立即生效. 通过t ...

  2. MySQL远程访问权限 允许远程连接

    1 首先cd / 到根目录,打开mysql控制台 登录数据库  mysql -u root -p 2.授权远程连接 mysql> use mysql; Database changed mysq ...

  3. 浏览器 连不上网 (3):DNS 服务器问题

    解决:设置一下DNS服务器的地址 步骤: 打开网络和共享中心(网络和 Internet设置)-> 更改适配器 -> 双击我们连接的 无线网(WiFi式) 或 以太网(网线式): 从出现的窗 ...

  4. django 连接 oracle 问题

    安装 oracle 后,在 django 项目中连接出现问题记录. 问题1:pip install cx_Oacle 未出现任何问题,但运行过程出现: 原因:连接 oracle 的工具 cx_Orac ...

  5. js中Date()对象详解

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

  6. nginx重要配置项简要说明

    1.重要配置项 以下是一个完整的nginx配置信息. #================================以下是全局配置项 #指定运行nginx的用户和用户组,默认情况下该选项关闭(关闭 ...

  7. 关于k Line Chart (k线图)

    K Line Chart python实现k线图的代码,之前找过matplotlib中文文档但是画k线图的finance方法已经弃用了.所以自己在网上搜寻一下加上改编,很好的实现出k线图, 代码如下: ...

  8. 破解wifi时遇到rtl8187 - [phy1]SIOCSIFFLAGS: Name not unique on network

    当我使用我的ubuntu利用aircrack-ng套件进行wifi破解时 遇到如下问题 rtl8187 - [phy1]SIOCSIFFLAGS: Name not unique on network ...

  9. linux下使用wget下载整个网站

    linux下可以用wget下载整个网站,而且网站链接中包含utf-8编码的中文也能正确处理. 简要方法记录如下: wget --restrict-file-name=ascii -m -c -nv - ...

  10. POJ2495(棋盘分治,染色)

    Incomplete chess boards Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2483   Accepted ...