Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用bufferedreader/writer在java中复制图像_Java_Java Io - Fatal编程技术网

如何使用bufferedreader/writer在java中复制图像

如何使用bufferedreader/writer在java中复制图像,java,java-io,Java,Java Io,这个代码有什么问题。是否可以使用BufferedReader和Writer类?? 我知道如何使用InputStream和OutputStream复制图像,所以不要使用它粘贴解决方案 这个代码有什么问题 您正在对二进制数据使用基于文本的类 可以使用BufferedReader和Writer类吗 不是在处理二进制数据时,不是 我知道如何使用InputStream和OutputStream复制图像,所以不要使用它粘贴解决方案 这是您应该使用的解决方案,因为这些是为二进制数据设计的类 从根本上说,对非文

这个代码有什么问题。是否可以使用BufferedReader和Writer类?? 我知道如何使用InputStream和OutputStream复制图像,所以不要使用它粘贴解决方案

这个代码有什么问题

您正在对二进制数据使用基于文本的类

可以使用BufferedReader和Writer类吗

不是在处理二进制数据时,不是

我知道如何使用InputStream和OutputStream复制图像,所以不要使用它粘贴解决方案

这是您应该使用的解决方案,因为这些是为二进制数据设计的类

从根本上说,对非文本数据使用
读卡器
写卡器
是错误的,而且会自找麻烦。如果在文本编辑器中打开文件,但看不到文本,则该文件不是文本文件。。。(或者,它可能是一个文本文件,您使用了错误的编码,但图像和声音等东西并不是自然的文本。)

这个代码有什么问题

您正在对二进制数据使用基于文本的类

可以使用BufferedReader和Writer类吗

不是在处理二进制数据时,不是

我知道如何使用InputStream和OutputStream复制图像,所以不要使用它粘贴解决方案

这是您应该使用的解决方案,因为这些是为二进制数据设计的类


从根本上说,对非文本数据使用
读卡器
写卡器
是错误的,而且会自找麻烦。如果在文本编辑器中打开文件,但看不到文本,则该文件不是文本文件。。。(或者,它可能是一个文本文件,您使用了错误的编码,但图像和声音之类的东西并不是天然的文本。)

使用
javax.imageio.imageio
实用类,它有许多与图像处理相关的实用方法

    File file = new File("download.png");
    File newfile = new File("D:\\Java.png");
    BufferedReader br=null;
    BufferedWriter bw=null;
    try {
        FileReader fr = new FileReader(file);
        FileWriter fw = new FileWriter(newfile);
        br = new BufferedReader(fr);
        bw = new BufferedWriter(fw);
        char[] buf = new char[1024];
        int bytesRead;
        while ((bytesRead = br.read(buf)) > 0) {
            bw.write(buf, 0, bytesRead);
        }
        bw.flush();
        }
        catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            br.close();
        bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        }

使用
javax.imageio.imageio
utility类,它有许多与图像处理相关的实用方法

    File file = new File("download.png");
    File newfile = new File("D:\\Java.png");
    BufferedReader br=null;
    BufferedWriter bw=null;
    try {
        FileReader fr = new FileReader(file);
        FileWriter fw = new FileWriter(newfile);
        br = new BufferedReader(fr);
        bw = new BufferedWriter(fw);
        char[] buf = new char[1024];
        int bytesRead;
        while ((bytesRead = br.read(buf)) > 0) {
            bw.write(buf, 0, bytesRead);
        }
        bw.flush();
        }
        catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            br.close();
        bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        }

还想问一下视频是否也是以二进制形式(二进制数据)读取的?@RajatGupta:是的,绝对是。如果你在记事本中打开它,你希望看到什么文本?还想问一下视频是否也是以二进制形式(二进制数据)读取的?@RajatGupta:是的,绝对是。若你们在记事本中打开它,你们希望看到什么文本?简短答案的可能重复是你们不能。Reader和Writer API用于文本,而图像不是文本。简短答案的可能重复之处在于您不能。Reader和Writer API用于文本,而图像不是文本。这将更改图像。最好是复制字节,而不是涉及ImageIO。此外,它将整个图像保存在内存中,这意味着它无法处理非常大的图像。这将改变图像。最好是复制字节,而不是涉及ImageIO。而且,它将整个图像保存在内存中,这意味着它无法处理非常大的图像。