JavaSE 高级 第07节 文件输入流FileInputStream

2016-07-24

InputStream

1,FileInputStream

因为字节流每次读取一个字节,而一个字节是无法完整的描述一个中文的,

所以会出现英文正常,中文乱码的情况。

package com.java1995;

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

public class TestFileInputStream {

    public static void main(String[] args) {

        FileInputStream fis=null;
        int i=0;
        try {
            fis=new FileInputStream("C:\\Users\\Administrator\\Desktop\\hello.txt");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            i=fis.read();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //当i==-1时文件到达结尾
        while(i!=-1){
            System.out.print((char)i);
            try {
                i=fis.read();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

package com.java1995;

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

public class TestFileInputStream {

    public static void main(String[] args) {

        FileInputStream fis=null;
        int i=0;
        try {
            fis=new FileInputStream("D:\\workspace\\java_io\\hello.txt");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            i=fis.read();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //当i==-1时文件到达结尾
        while(i!=-1){
            System.out.print((char)i);
            try {
                i=fis.read();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

【参考资料】

[1] Java轻松入门经典教程【完整版】

时间: 2024-07-28 20:41:22

JavaSE 高级 第07节 文件输入流FileInputStream的相关文章

JavaSE 高级 第12节 字符输入流InputStreamReader

2016-07-24 Reader 1,InputStreamReader   字节流通向字符流的桥梁 FileInputStream fis=null; InputStreamReader isr=null; fis=new FileInputStream( "C:\\Users\\admin\\Desktop\\in.txt"); isr=new InputStreamReader(fis,"UTF-8"); package com.java1995; publ

JavaSE 高级 第08节 文件输出流FileOutputStream

2016-07-24 1,FileOutputStream 课下作业: 1.把英文字母换成中文. 2.用write(int b)方法来写.在用这个方法写的时候,试着用 中文来看看效果如何. package com.java1995; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class

文件输入流 FileInputStream类 文件输出流FileOutputStream ---转载

转载自---http://blog.csdn.net/hguisu/article/details/7418161 111:文件输入流: FileInputStream可以使用read()方法一次读入一个字节,并以int类型返回,或者是使用read()方法时读入至一个byte数组,byte数组的元素有多少个,就读入多少个字节.在将整个文件读取完成或写入完毕的过程中,这么一个byte数组通常被当作缓冲区,因为这么一个byte数组通常扮演承接数据的中间角色. 作用:以文件作为数据输入源的数据流.或者

JavaSE 高级 第06节 初识I、O流

2016-07-24 input  output 1,流的概念 输入流是读数据. 输出流是写数据. 输入输出的概念针对程序来说. 2,字节流 用于以字节为单位的输入输出,主要是处理字节或者二进制数据的各种输入输出. 一般用于处理图像.声音文件. InputStream 是所有字节输入流的祖先类. OutputStream 是所有字节输出流的祖先类. 3,字符流 以字符为基本处理的单位,主要用于处理字符或者是文本类型.一般用作处理文本 读取存储以及与网络的文本信息的交互. Reader 是所有字符

JavaSE 高级 第09节 字节数组输入流ByteArrayInputStream

2016-07-24 1,ByteArrayInputStream FileInputStream的输入源是文件. ByteArrayInputStream的输入源是字节数组. reset() 重置到mark标记的位置,如果没有调用过mark方法, 则重置到缓冲区(ByteArray)的起始位置 mark(int) package com.java1995; import java.io.ByteArrayInputStream; public class TestByteArrayInputS

JavaSE 高级 第15节 写文件类FileWriter

2016-07-24 FileReader 1,FileWriter 课下作业: c:\ 定义两个文件 in.txt,out.txt 然后,in.txt里面写入部分中文以及英文. 然后写程序读取in.txt的内容,写到out.txt里面. 规定:读文件的类必须是FileReader 写文件的类必须是FileWriter. package com.java1995; import java.io.FileWriter; import java.io.IOException; public clas

JavaSE 高级 第14节 读文件类FileReader

2016-07-24 InputStreamReader  : FileInputStream fis=new FileInputStream(file); InputStreamReader isr=new InputStreamReader(fis); FileReader: FileReader fr=new FileReader("C:\\Users\\admin\\Desktop\\in.txt"); 1,FileReader package com.java1995; im

JavaSE 高级 第11节 缓冲输入输出字节流

2016-07-24 FileInputStream ByteArrayInputStream 1,BufferedInputStream 2,BufferedOutputStream package com.java1995; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundExc

JavaSE 高级 第16节 读取缓冲类BufferedReader

2016-07-24 字符流相关类:读取缓冲类 1,BufferedReader package com.java1995; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; public class TestBuffere