zoukankan      html  css  js  c++  java
  • I/O FileInputStream 字节类型文件输入输出流 (汉字显示乱码)

    package IOliu;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    
    public class FileInputStreamTest {
    
        public static void main(String[] args) {
            //FileInputStream 字节类型的输入流
            FileInputStream fis = null;
            try {
                fis = new FileInputStream("D:\2016.txt");
                int i = 0 ;
                //StringBuffer拼接文件内容
                StringBuffer sb = new StringBuffer();
                //输入流结尾默认为-1
                while((i = fis.read())!= -1){
                    char ch = (char) i;
                    sb.append(ch);
                }    //读取一个字节
                System.out.println(sb.toString());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally{
                //fis.close()异常:空指针异常
                try {
                    fis.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            
        }
    
    }

     输出流

    package IOliu;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class FileInputStreamTest {
    
        public static void main(String[] args) {
            //FileInputStream 字节类型的输入流
            FileInputStream fis = null;
            FileOutputStream fos = null;
            try {
                fis = new FileInputStream("E:\小霸王游戏机-珍藏84合1 模拟器+84款经典游戏\1.gif");
                fos = new FileOutputStream("E:\dogcopy.gif");
                //StringBuffer拼接文件内容
                //StringBuffer sb;
                int i = 0;
                //定义比特数组,用来拼接汉字,解决字节乱码问题
                //byte[] bArray;
                //bArray = new byte[1024];
                //sb = new StringBuffer();
                //输入流结尾默认为-1
                while((i = fis.read())!= -1){
                    fos.write(i);
                    //char ch = (char) i;
                    //sb.append(bArray);
                }    //读取一个字节
                //System.out.println(sb.toString());
                //System.out.println(new String(bArray));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally{
                //fis.close()异常:空指针异常
                try {
                    fis.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            
        }
    
    }
  • 相关阅读:
    Oracle: 一个很让人纠结的sql问题,给自己长个记性
    TextInfo list of CultureInfo
    一个简单的面试题称粮食
    C++ 中什么是内联函数(zhuan)
    C/C++ 到 shellcode 过程
    常量指针与指针常量的区别(转帖)
    分清函数指针和指针函数
    如何编写自己的缓冲区溢出利用程序? (zz)
    动态获取API函数地址对抗win7 aslr安全机制(转)
    暴力搜索内存空间获得 Api 的线性地址
  • 原文地址:https://www.cnblogs.com/xiaolei121/p/5771983.html
Copyright © 2011-2022 走看看