A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

* 不可以拷贝非纯文本的文件
* 因为在读的时候会将字节转换为字符,在转换过程中,可能找不到对应的字符,就会用?代替,写出的时候会将字符转换成字节写出去
* 如果是?,直接写出,这样写出之后的文件就乱了,看不了了  
案例:
package com.heima.chario;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo3_Copy {
        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                demo2();               
        }
        public static void demo2() throws FileNotFoundException, IOException {
                //字符流不能拷贝纯文本的文件
                FileReader fr = new FileReader("双元.jpg");
                FileWriter fw = new FileWriter("copy.jpg");
               
                int c;
                while((c = fr.read()) != -1) {
                        fw.write(c);
                }               
                fr.close();
                fw.close();
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马