`
loky
  • 浏览: 177049 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

IO:FileInputStream和FileOutputStream

F# 
阅读更多
FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名。创建FileInputStream对象实例时,指定的文件应该是存在和可读的,创建FileOutputStream实例对象时,如果指定的文件已经存在,这个文件中的原来内容就会被覆盖。

对于一个磁盘文件来创建FileInputStream类的Stream对象可以有下面两种方式:
(1)FileInputStream fis = new FileInputStream("test.txt");
(2)File f = new File("test.txt");
    FileInputStream fis = new FileInputStream(f);
第二种可以对test文件进行很多的File类的操作,比如判断是否存在,是否可写等等。这是File那篇文章里面的内容。

创建一个FileOutputStream实例对象的时候,可以指定还不存在的文件名,但是不能指定一个被其它程序打开的文件。

下面来看一个例子:用FileOutputStream类向文件中写入一个串字符,然后用FileInputStream读出写入的内容。
import java.io.*;
public class FileStream {

    public static void main(String[] args) throws Exception{
        FileOutputStream out = new FileOutputStream("test.txt");
        out.write("www.cublog.com".getBytes());//读取字符串,write()不能直接读取字符串,所以只能转换成字节数

        out.close();//关闭输入文件对象

        
        byte[] buf = new byte[1024];
        File f = new File("test.txt");
        FileInputStream in = new FileInputStream(f);
        int len = in.read(buf);//取文件的长度

        System.out.println(new String(buf,0,len));
        in.close();
    }
}


Reader类和Writer类:

java中的字符是采用Unicode编码的,是双字节的。上面的FileInputStream和FileOutputStream都是用来处理字节的,在处理上面的字符串的时候需要把字符串转换成字节以后再写入到文件,在读取字符串的时候也是先读到的字节数组,然后再将它转换成为字符串的。这就需要编写额外的字节与字符之间转换的代码。java中专门有一个单独的类用来对IO设备进行字符的输入和输出,例如刚才的例子就可以用FileReader和FileWriter。

Reader类和Writer类专门用于文本文件的读取,而InputStream和OutputStream则是用于对二进制格式文件的内容读取

由于上面的例子是文本文件,所以可以用FileReader和FileWriter类来改写一下:
import java.io.*;
public class FileStream {

    public static void main(String[] args) throws Exception{
              
        FileWriter out = new FileWriter("test.txt");
        out.write("www.cublog.com");
        out.close();
        
        char[] buf = new char[1024];
        FileReader in = new FileReader("test.txt");
        int len = in.read(buf);
        System.out.println(new String(buf,0,len));
        in.close();
        
    }
}

分享到:
评论

相关推荐

    关于IO中FileIuputSream和FileOutputStream的简单用法

    IO中FileIuputSream和FileOutputStream的简单用法,首先要知道的是,这两个都是字节流,所以声明数组的时候是byte类型,有的同学可能写的时候会不注意写成Byte,这样写是错的,因为Byte是byte的一个实现类,所以要...

    基础深化和提高-常用类

    FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等:用于进行文件和流的输入输出操作,可以读取、写入文件和处理数据流。 字符串处理类: String、StringBuffer、StringBuilder等:用于处理...

    java7源码-JavaIO:JavaIO

    java7 ...FileInputStream和FileOutputStream是什么? 这是在拷贝文件操作的时候,经常用的两个类。在处理小文件的时候,它们的性能还不错,在大文件是最好使用BufferedInputStream(或BufferedReader)和B

    javaIO案例

    javaIO经典案例,inputStream、outputStream、fileInputStream、fileOutputStream、管道流等经典案例

    bytestreamdemo.zip

    FileInputStream和FileOutputStream BufferedInputStream 和 BufferedOutputStream DataInputStream 和 DataOutputStream ObjectInputStream和ObjectOutputStream PrintStream PushbackInputStream

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...

    javaIo与流 读写文件

    1、在读写文件时必须的 2、File类 ...运用FileInputStream和FileOutputStream类读写文本文件 运用BufferedReader和BufferedWriter类读写文本文件 运用DataInputStream和DataOutputStream类读写二进制 文件

    java文件复制(io流的转制)

    java编程,使用FileInputStream ,FileOutputStream 实现了把一个文件的内容复制到另外一个文件 /* * 多种类型文件的复制 */

    Java-IO-Learning

    Java IO学习 FileInputStream,FileOutputstream 随机存取文件 ByteArrayOutputStream,ByteArrayInputStream

    java入门之io包

    运用File类进行文件操作 理解流,标准输入/输出...运用FileInputStream和FileOutputStream类读写文本文件 运用BufferedReader和BufferedWriter类读写文本文件 运用DataInputStream和DataOutputStream类 读写二进制文件

    JavaIo流分析图

    分析Java常用IO流,包括InputStream、OutputStream、FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、FileReader、...

    datastore-io:来自 GAEJ 数据存储的输出和输入流

    datastore-io为 、 DatastoreOutputStream和DatastoreInputStream提供数据存储的输出和输入流,它们可以用来代替FileOutputStream和FileInputStream 。 // OutputStream to the Datastore try ( ...

    基础深化和提高-IO流技术学习大全

    常见的实现类包括FileInputStream、FileOutputStream等。 字符流: 字符输入流(Reader)和字符输出流(Writer):用于处理文本数据,以字符为单位进行读写,支持字符集的编解码。常见的实现类包括FileReader、...

    Java中IO流简介_动力节点Java学院整理

    在java 1.0中,java提供的类都是以字节(byte)为单位,例如,FileInputStream和FileOutputStream。而到了java 1.1,为了与国际化进行接轨,在java io中添加了许多以字符(Unicode)为单位进行操作的类。

    一篇文章带你了解IO流

    3.2 所有方法outStreamInputStream3.3 字节流子类FileOutputStream:FileInputStream:四、字节处理流4.1 缓冲流构造方法方法代码举例关于BufferedInputStream4.2 对象流5.1 基本方法5.2 序列化和反序列化5.3 序列化...

    java io包课件

    运用FileInputStream类和FileOutputStream类读/写字节文件 运用FileReader类和FileWriter类配合BufferedReader类和BufferedWriter类读/写字符文件 使用BufferedReader类从控制台接受输入 运用DataInputStream类和...

    关于文件复制的程序java

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class OutputStream { public static class CopyJDK { public ...

    教你彻底明白Java的IO系统

    在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型: 1.1 以字节为导向的stream 以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种...

    Java_IO(输入输出)

    Java_IO(输入输出) FileInputStream类、FileOutputStream类、FileReader类、FileWriter类、try{}catch(){}finally{}应用

    JavaIO流精讲上

    课程内容主要有:File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、FileInputStream、FileOutputStream、InputStreamReader、OutputStreamWriter、...

Global site tag (gtag.js) - Google Analytics