精华内容
下载资源
问答
  • 主要介绍了Java IO中字节流复制图片实现代码的相关资料,需要的朋友可以参考下
  • //复制图片 public static void main(String[] args) { // TODO Auto-generated method stub FileInputStream fis=null; FileOutputStream fos=null; try { fis=new FileInputStream("F:/IO/potho/pear.jpg"); byte ...
    package com.jr.ch19;
    
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    
    public class Copy {
    //复制图片
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    FileInputStream fis=null;
    FileOutputStream fos=null;
    try {
    fis=new FileInputStream("F:/IO/potho/pear.jpg");
    byte [] b=new byte[fis.available()];
    fis.read(b);
    fos=new FileOutputStream("E:/potho3/pear3.jpg");
    fos.write(b);
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    try {
    if(fis!=null){
    fis.close();
    }
    if(fos!=null){
    fos.flush();
    fos.close();
    }
    } catch (Exception e2) {
    // TODO: handle exception
    }
    }
    }
    
    
    }
    复制不要求在同一个目录下。


    展开全文
  • 内存中字的存储

    2020-11-01 17:01:17
    内存中字的存储: 低位字节放在低地址单元,高位字节放在高地址单元: 例如:2000D(4E20H),存放在0,1两个单元 18D(0012H),存放在2,3两个单元 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接...

    内存中字的存储:

    低位字节放在低地址单元,高位字节放在高地址单元:

    • 例如:2000D(4E20H),存放在0,1两个单元
    • 18D(0012H),存放在2,3两个单元
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wQiYEuvJ-1604221227498)(C:\Users\46591\Desktop\汇编语言学习\汇编中内存字的存储.assets\image-20201101165515245.png)]

    字单元:由两个地址连续内存单元组成存放一个字型数据(16位)

    • 原理:在一个字单元中低地址单元存放低位字节,高地址单元存放高位字节
    展开全文
  • Java中字节流

    2020-05-07 19:50:54
    一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都是一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,...

    一切皆为字节

    一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都是一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。

    输入/输出流

    Java语言定义了许多类专门负责各种方式的输入/输出,这些类都被放到了 java.io 包中。其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类;而所有输出流类都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。

    字节输出流【OutputStream】

    java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。它定义了字节输出流的基本共性功能方法。

    • public void close() :关闭此输出流并释放与此流相关联的任何系统资源。
    • public void write(byte[] b) :将 b.length字节从指定的字节数组写入此输出流。
    • public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。
    • public abstract void write(int b) :将指定的字节输出流。
    • 注意:close方法,当完成流的操作时,必须调用此方法,释放系统资源。

    文件输出流【FileOutputStream】

    OutputStream 有很多子类,我们从最简单的一个子类开始。java.io.FileOutputStream 类是文件输出流,用于将数据写出到文件。

    构造方法

    • public FileOutputStream(File file) :创建文件输出流以写入由指定的 File对象表示的文件。
    • public FileOutputStream(String name) : 创建文件输出流以指定的名称写入文件。
      当你创建一个流对象时,必须传入一个文件路径。该路径下,如果没有这个文件,会创建该文件。如果有这个文件,会清空这个文件的数据。
    public class FileOutputStreamConstructor throws IOException {
    	public static void main(String[] args) {
    		// 使用File对象创建流对象
    		File file = new File("a.txt");
    		FileOutputStream fos = new FileOutputStream(file);
    		// 使用文件名称创建流对象
    		FileOutputStream fos = new FileOutputStream("b.txt");
    	}
    }
    

    写出字节数据

    1. 写出字节: write(int b) 方法,每次可以写出一个字节数据,代码使用演示:
    public class FOSWrite {
    	public static void main(String[] args) throws IOException {
    		// 使用文件名称创建流对象
    		FileOutputStream fos = new FileOutputStream("fos.txt");
    		// 写出数据
    		fos.write(97); // 写出第1个字节
    		fos.write(98); // 写出第2个字节
    		fos.write(99); // 写出第3个字节
    		// 关闭资源
    		fos.close();
    	}
    }
    //运行结果:
    //abc
    
    1. 写出字节数组: write(byte[] b) ,每次可以写出数组中的数据,代码使用演示:
    public class FOSWrite {
    	public static void main(String[] args) throws IOException {
    		// 使用文件名称创建流对象
    		FileOutputStream fos = new FileOutputStream("fos.txt");
    		// 字符串转换为字节数组
    		byte[] b = "我是要成为海贼王的男人".getBytes();
    		// 写出字节数组数据
    		fos.write(b);
    		// 关闭资源
    		fos.close();
    	}
    }
    //输出结果
    //我是要成为海贼王的男人
    
    1. 写出指定长度字节数组: write(byte[] b, int off, int len) ,每次写出从off索引开始,len个字节,代码使用演示:
    public class FOSWrite {
    	public static void main(String[] args) throws IOException {
    		// 使用文件名称创建流对象
    		FileOutputStream fos = new FileOutputStream("fos.txt");
    		// 字符串转换为字节数组
    		byte[] b = "abcde".getBytes();
    		// 写出从索引2开始,2个字节。索引2是c,两个字节,也就是cd。
    		fos.write(b,2,2);
    		// 关闭资源
    		fos.close();
    	}
    }
    //输出结果:
    //cd
    

    数据追加续写

    经过以上的演示,每次程序运行,创建输出流对象,都会清空目标文件中的数据。如何保留目标文件中数据,还能继续添加新数据呢?

    • public FileOutputStream(File file, boolean append) : 创建文件输出流以写入由指定的File对象表示的文件。
    • public FileOutputStream(String name, boolean append) : 创建文件输出流以指定的名称写入文件。
      这两个构造方法,参数中都需要传入一个boolean类型的值, true 表示追加数据, false 表示清空原有数据。这样创建的输出流对象,就可以指定是否追加续写了,代码使用演示:
    public class Test2 {
        public static void main(String[] args) throws IOException {
            // 使用文件名称创建流对象
            FileOutputStream fos = new FileOutputStream("fos.txt",true);
            // 字符串转换为字节数组
            byte[] b = "我要成为世界第一大剑豪".getBytes();
            fos.write(b);
            // 关闭资源
            fos.close();
        }
    }
    //fos.txt文件:我是要成为海贼王的男人我要成为世界第一大剑豪
    

    写出换行

    Windows: \r\n
    Linux: /n
    Mac: /r
    代码演示:

    public class Test2 {
        public static void main(String[] args) throws IOException {
            // 使用文件名称创建流对象
            FileOutputStream fos = new FileOutputStream("fos.txt");
    
            fos.write("罗宾!回答我,说你想活下去。".getBytes());
            fos.write("\r\n".getBytes());
            fos.write("如果真的能让我许下一个愿望的话……我想要……我想要活下去!把我也一起带到海上吧!".getBytes());
            fos.close();
        }
    }
    
    

    输出结果在这里插入图片描述

    字节输入流【InputStream】

    java.io.InputStream 抽象类是表示字节输入流的所有类的超类,可以读取字节信息到内存中。它定义了字节输入流的基本共性功能方法。

    • public void close() :关闭此输入流并释放与此流相关联的任何系统资源。
    • public abstract int read() : 从输入流读取数据的下一个字节。
    • public int read(byte[] b) : 从输入流中读取一些字节数,并将它们存储到字节数组 b中
    • 注意:当完成流的操作时,必须调用此close()方法,释放系统资源。

    文件输入流【FileInputStream】

    java.io.FileInputStream 类是文件输入流,从文件中读取字节。

    构造方法

    • FileInputStream(File file) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的文件对象 file命名。
    • FileInputStream(String name) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。

    当你创建一个流对象时,必须传入一个文件路径。该路径下,如果没有该文件,会抛出FileNotFoundException

    读取字节数据

    1. 读取字节: read 方法,每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回 -1 。
      1. 使用字节数组读取: read(byte[] b) ,每次读取b的长度个字节到数组中,返回读取到的有效字节个数,读取到末尾时,返回 -1 。代码演示:
    public class FISRead {
    	public static void main(String[] args) throws IOException{
    		// 使用文件名称创建流对象.
    		FileInputStream fis = new FileInputStream("read.txt"); // 文件中为abcde
    		// 定义变量,作为有效个数
    		int len ;
    		// 定义字节数组,作为装字节数据的容器
    		byte[] b = new byte[2];
    		// 循环读取
    		while (( len= fis.read(b))!=-1) {
    			// 每次读取后,把数组变成字符串打印
    			System.out.println(new String(b));
    		} /
    		/ 关闭资源
    		fis.close();
    	}
    }
    

    输出结果:
    ab
    cd
    ed
    我们会发现最后一行出现错误数据d,是由于最后一次读取时,只读取一个字节 e ,数组中,上次读取的数据没有被完全替换,所以要通过 len ,获取有效的字节,代码使用演示:

    public class FISRead {
    	public static void main(String[] args) throws IOException{
    		// 使用文件名称创建流对象.
    		FileInputStream fis = new FileInputStream("read.txt"); // 文件中为abcde
    		// 定义变量,作为有效个数
    		int len ;
    		// 定义字节数组,作为装字节数据的容器
    		byte[] b = new byte[2];
    		// 循环读取
    		while (( len= fis.read(b))!=-1) {
    			// 每次读取后,把数组的有效字节部分,变成字符串打印
    			System.out.println(new String(b,0,len));// len 每次读取的有效字节个数
    		} /
    		/ 关闭资源
    		fis.close();
    	}
    } 
    
    

    输出结果:
    ab
    cd
    e

    注意:
    使用数组读取,每次读取多个字节,减少了系统间的IO操作次数,从而提高了读写的效率,建议开发中使用。

    字节流练习:图片复制

    现在我们知道了一切数据皆为二进制,也学习了输入流/输出流,那么就来练习下复制粘贴吧。
    以下链接为我写的另一篇关于文件的拷贝的博客链接,感兴趣的小伙伴可以点击看看。
    Java中I/O流对文件进行复制粘贴及可能会出现的问题

    展开全文
  • 用的是phpstudy自带的数据库 $conn=@mysqli_connect('localhost','root','root') or die("数据库连接失败!");;...[图片说明](https://img-ask.csdn.net/upload/202006/20/1592657681_198748.png)
  • Java中字节流和字符流的区别与联系。 字节流按8位传输,以字节为单位输入输出数据;字符流按16位传输,以字符为单位输入输出数据。 字节流读取的时候,读到一个字节就返回一个字节; 字符流使用了字节流读到一个或多...

    小景哥哥博客

    Java中字节流和字符流的区别与联系。

    字节流按8位传输,以字节为单位输入输出数据;字符流按16位传输,以字符为单位输入输出数据。

    字节流读取的时候,读到一个字节就返回一个字节; 字符流使用了字节流读到一个或多个字节(中文对应的字节 数是两个,在UTF-8码表中是3个字节)时,先去查指定的编码表,将查到的字符返回。 字节流可以处理所有类型数据,如:MP3、AVI视频文件、图片,而字符流只能处理字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。字节流主要是操作byte类型数据,以byte数组为准,主要操作类就是OutputStream、InputStream。

    展开全文
  • 在所有的硬盘上保存文件或进行传输的时候都是以字节的方法进行的,包括图片也是按字节完成,而字符是只有在内存中才会形成的,所以使用字节的操作是最多的。 什么时候使用字节流或者是字符流:由于是由JVM将字节转化...
  • 特点:能读写文本、图片、视频、音频等 主要字节流: FileOutputStream:文件输出流 FileInputStream:文件输入流 案例: 需求:复制文件 public static void fun() { FileInputStream fis = null; ...
  • 但是不能发送音频和视频图片等信息。这就促使了字节流的出现。 当然同字节流相比,字符流更加的快速。 今天我给大家要讲的是使用字节流向客户端发送验证码,并且将存在的几个问题给大家解释清楚。...
  • [b]概念: [/b] 字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符...如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点. 所有文件的储存是都是字...
  • 字节的方式在复制音频图片文件时比较适用,但在对于普通文件的读写上有两大缺陷: 第一,字节流在读取中文字符时,若设定的字节数组长度刚好末尾的中文字不能获取完整,那么容易将这个字符拆开而造成乱码 第二,...
  • 输入流:将持久化在硬盘中的文件读取到内存中 输出流:将内存中的信息写入硬盘中的文件中 序列化:将对象以某种流的形式传输过程可以理解为序列化(实现了Serializable 和...在动态传输图片,视频时考虑效率时
  • 操作中文的时候使用字符流更方便 字节流更广泛:文本,视频,音频,图片... 字符流中有可以直接写字符串的方法 字节输出流 : 程序 ---> 磁盘文件 如果不关闭流也会写入 字符输出流 : 程序 ==> 缓冲【flush/...
  • 字节流可以复制读取任何形式的文件,比如图片,音频等,而字符流我们一般用来读取文本形式的文件。 那基本的字节流有: InputStream,OutputStream:(抽象类,是所有字节输入输出流的超类) FileInputStream,File...
  • 相关视频教程学习推荐: 平面设计—零基础到进阶系统讲解【英语中字|正版】7,067人在学总时长:8h 15m1、首先我们在左侧的工具栏中选择选择工具,这时候我们选择我们将要改变大小的图片,这是发现图片的周围出现蓝色...
  • java中字节流与字节缓冲流 java中字节缓冲流 import java.io.*; public class IOshiping { public static void main(String[] args) throws IOException { //记录开始的时间 long startTime = System....
  • 用JavaIO流中的字节流将一个图片从一个盘复制到另一个盘 1、具体思路:IO流中字节流的应用 2、注意事项:异常处理,使用完IO流之后一定要关闭,可以使用funally类 3、代码实现: package ioStream_prctise;//包名...
  • 项目中需要把存储在数据库Blob字段中字节流进行以下相关的操作: 1.图片文件直接在页面中显示; 2.Doc,PDF等文档提示用户下载。 这个需求需要解决2个问题,第一个问题,从数据库中读取Blob字段;第二个问题,...
  • CSDN博客的编辑器,你能不能更不好用一点?

    千次阅读 多人点赞 2015-06-18 17:40:24
    默认使用xhEditor,经常编辑的时候使用中字,发布之后换成小字了。图片也不能拖动调整大小,还得去改长宽值,这技术要求略高啊。另外,word里面粘贴过来的文字、格式变得一塌糊涂,有时候回车一下,格式又变了。要么...
  • ParticleTextView

    2017-05-18 17:27:24
    怎么识别一副图片中字的每个像素的位置呢?把字体设置成3399ff,遍历所有的像素点,如果颜色3399ff, 然后把这个点位置记录下来。 很浪费时间吧。  private void setParticles(){  int centerX = getWidth() / 2; ...
  • JSP页面显示和下载字节流文件

    千次阅读 2014-05-18 08:16:34
    项目中需要把存储在数据库Blob字段中字节流进行以下相关的操作:  1.图片文件直接在页面中显示;  2.Doc,PDF等文档提示用户下载。  这个需求需要解决2个问题,第一个问题,从数据库中读取Blob字段;第二...
  • 四、数据类型

    2019-03-07 07:52:00
    五大数据类型 数据类型 1. String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。...string类型是Redis最基本的数据类型,一个redis中字...
  • 摘要:用ID排版时,最终文件往往要导出成pdf...相关视频教程学习推荐: 平面设计—零基础到进阶系统讲解【英语中字|正版】7,067人在学总时长:8h 15mQ1.图片置入问题:ai有嵌入选项,而indesign没有(或者我没有找到吧...
  • 在java中字节流主要是对一些视频,音频,图片进行操作,而字符流则是对一些字符操作。和字节流一样,字符流也有两个基类:字符输出流:“Writer”字符输入流:“Reader”通过一个实现类FielWriter和FielReader可以...
  • mysql

    2020-11-02 18:27:32
    MySQL中字段常用的数据类型 int 整数型 bigint 长整型 float 浮点型 char 定长字符串 varchar 可变长字符串 date 日期类型 BLOB 二进制大对象(存储图片、视频等流媒体信息) CLOB 字符大对象(存储较大文本,如:存储...
  • 字节流与字符流

    2015-05-17 10:07:00
    2.在开发中字节流使用较为广泛,因为所有的文件在硬盘或在传输时都是以字节的方式进行的,包括图片等都是安子杰的方式存储的,而字符是只有在内存中才会形成。 转载于:...
  • //获取句中字的大小 String s = runsList.getText(0);//获取文本内容 if(s != null) // 如果读取为非空,则对其进行判断 { if(s.contains("摘要"))// 识别摘要 { System....
  • 自己动手写搜索引擎(罗刚著).doc

    热门讨论 2011-04-18 12:07:25
    8.1.8 Solr中字词混合索引 249 8.1.9 相关检索 253 8.1.10 搜索结果去重 255 8.1.11 分布式搜索 260 8.1.12 SolrJ查询分析器 264 8.1.13 扩展SolrJ 276 8.1.14 扩展Solr 277 8.1.15 Solr的.net客户端 285 8.1.16 ...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

中字图片