java IO文件读写例子(OutputStream,InputStream,Writer,Reader)

一,File创建文件

File file = new File("D:" + File.separator + "yi.txt");

代码示例:

package com.hbut.io;

import java.io.File;
import java.io.IOException;

public class FileDemo {   

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "yi.txt");
        if (file.exists()) {
            file.delete();
            System.out.println("文件已存在");
        } else {
            try {
                boolean states=false;
                states = file.createNewFile();
                if(states==true)
                {
                    System.out.println("文件创建成功");
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}  

二,OutputStream(字节流)写入文件

out= new FileOutputStream(file);//获取实际的字节流输出对象,内容覆盖

String info="hello";//要输入的内容

byte[] b=info.getBytes();//将字符转化为字节数组

out.write(b);

     代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class OutputDemo {
    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "yi.txt");//指定要写入的文件
        OutputStream out=null;//定义字节流输出对象
        try {
            out= new FileOutputStream(file);//获取实际的字节流输出对象,内容覆盖
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        String  info="hello";//要输入的内容
        byte[] b=info.getBytes();//将字符转化为字节数组
        try {
            out.write(b);
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}  

三,InputStream(字节流)读出文件

InputStream In = null;// 定义字节流输入对象

In = new FileInputStream(file);// 获取实际的字节流输入对象

byte[] b = new byte[1024];// 开辟空间,读取内容

len = In.read(b);// 读取

System.out.println(new String(b, 0, len));//输出读取的内容

代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

public class InputStreamDemo {
    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "yi.txt");// 指定要读取的文件
        InputStream In = null;// 定义字节流输入对象
        try {
            // out= new FileOutputStream(file,true);//是否字节追加函数
            In = new FileInputStream(file);// 获取实际的字节流输入对象
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        int len = 0;// 输入数组长度
        byte[] b = new byte[1024];// 开辟空间,读取内容
        // byte[] b=new byte[(int)file.length()];//根据文件大小开辟空间
        try {
            len = In.read(b);// 读取
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        try {
            In.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(new String(b, 0, len));
    }
}

四,Writer(字符流)写入文件

Writer write = null;// 定义字符输出流

write = new FileWriter(file);

String infor = "hello,WriterDemo";//即将写入文件的信息

write.write(infor);//写入文件

代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

public class WriterDemo {
    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "WriterDemo.txt");// 指定要写入的文件
        Writer write = null;// 定义字符输出流
        try {
            write = new FileWriter(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
        String infor = "hello,WriterDemo";
        try {
            write.write(infor);
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            write.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

五,Reader(字符流)读出文件内容

Reader read = null;// 定义字符输入流

read = new FileReader(file);

char[] b=new char[1024];//设置字符的长度

int len=read.read(b);//文件内容读入到 b[]

System.out.println(new String(b)); 

    代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class ReaderDemo {
    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "yi.txt");// 指定要读出的文件
        Reader read = null;// 定义字符输入流
        try {
            read = new FileReader(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
        char[] b=new char[1024];//设置字符的长度
        try {
            int len=read.read(b);
            System.out.println(new String(b));
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            read.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}  

时间: 2024-10-16 03:55:04

java IO文件读写例子(OutputStream,InputStream,Writer,Reader)的相关文章

Java IO: 文件

原文链接  作者: Jakob Jenkov  译者: 李璟([email protected]) 在Java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这篇文章不会对每一个技术细节都做出解释,而是会针对文件存取的方法提供给你一些必要的知识点.在之后的文章中,将会更加详细地描述这些方法或者类,包括方法示例等等. 通过Java IO读文件 如果你需要在不同端之间读取文件,你可以根据该文件是二进制文件还是文本文件来选择使用FileIn

Java IO 节点流 FileInput/OutputStream

Java IO 节点流 FileInput/OutputStream @author ixenos 节点流之 文件流 文件读写是最常见的I/O操作,通过文件流来连接磁盘文件,读写文件内容 1.文件的读写工作流程: 1)打开文件输入流或输出流 FileInputStream实现读文件,调用FileInputStream的构造器可以打开一个文件输入流: 1 public FileInputStream(String fileName) throws FileNotFoundException //指

Java IO(文件操作工具类)

FileOperate实现的功能: 1. 返回文件夹中所有文件列表 2. 读取文本文件内容 3. 新建目录 4. 新建多级目录 5. 新建文件 6. 有编码方式的创建文件 7. 删除文件 8. 删除指定文件夹下所有文件 9. 复制单个文件 10. 复制整个文件夹的内容 11. 移动文件 12. 移动目录 13. 建立一个可以追加的bufferedwriter 14. 得到一个bufferedreader Java代码    package utils; import java.io.Buffer

Java简单文件读写

Java简单文件读写, 昨天帮同学写了一个简单的文件处理程序,记录这边吧,竟然花了一个小时,就是因为system.out打印日志的时候位置写错了 :-( public static void main(String[] args){ try{ BufferedReader br = new BufferedReader(new FileReader("D:/a.txt")); File dest = new File("D:/b.txt"); BufferedWri

Java IO流读写文件的几个注意点

平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样? 解决这个问题之后,总结了几个注意点. 注意点一:Reader/Writer读写二进制文件是有问题的 : public void copyFile1() { File srcFile = new File("E://atest//atest.txt"); File dstFile = ne

JAVA之IO文件读写

IO概述:                                                          IO(Input output)流 作用:IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式             Java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流和字符流流按流向分为:输入流,输出流. IO流常用基类字节流的抽象基类:InputStream,OutputStream.字符流的抽象基类:Reader,Writer注:由

191108、Java IO流读写文件的几个注意点

平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样? 解决这个问题之后,总结了几个注意点. 注意点一:Reader/Writer读写二进制文件是有问题的 : 上面代码使用BufferedReader一行一行地读取一个文件,然后使用BufferedWriter把读取到的数据写到另外一个文件中.如果文件是ASCCII形式的,则内容还是能够正确读取的.但如

java IO文件操作简单基础入门例子,IO流其实没那么难

IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想.今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作. 1.文件拷贝 try {             File inputFile = new File(args[0]);             if (!inputFile.exists()) {                 System.out.println("源文件不存在,程序终止");

java写文件读写操作(IO流,字节流)

package copyfile; import java.io.*; public class copy { public static void main(String[] args) throws IOException { copyFile("d:/new/a.txt","d:/new/b.txt",true);//oldpath,newpath,是否不覆盖前文 } public static void copyFile(String oldpth,Stri