iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java如何使用字符流读写非文本文件
  • 447
分享到

Java如何使用字符流读写非文本文件

Java字符流字符流读写非文本 2023-05-15 20:05:13 447人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录使用字符流读取文件(非文本)Base64编码base64编码简介编码规则编码方式的缺点Base64在 Java 里的应用将图片转为Base64字符串进行读写字符串转base64编

使用字符流读取文件(非文本)

上篇 浅谈一下Java为什么不能使用字符流读取非文本的二进制文件 分析了为什么无法使用字符流读取文件的原因,是因为编码方式的问题(二进制数据是无编码的)。以Java的字符流读取文件为例:它只能读取0-65535之间的字符,可以看出来字符都是正数,但是二进制的byte是可以为负数的。但是读取的时候会被当做正数来读取,或者是无法在编码表中找到的字符会返回一个奇怪的符号(你可能见过那个奇怪的 “?”)。

但是在某些情况下,必须要使用字符来显示二进制数据,也不是没有办法的,下面就来介绍一个我们什么的方式–base64编码

Base64编码

base64编码简介

base64是网络上常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可以用在Http环境下传递较长的标识信息。采用Base64编码后具有不可读性,需要解码后才能阅读。它的中文名是基于64个可打印字符来表示二进制数据。

编码规则

1. 把3个字节变成4个字节.

2. 没76个字符加一个换行符。

3. 最后的结束符也要处理。

编码方式的缺点

从编码规则可以看出来,base64要求把每三个8Bit的字节转换成四个6Bit的字符(38 = 46 = 24),然后把6Bit再添加两位高位0,组成四个8Bit的字节。也就是说,转换后的字符串理论上将要比原来的长1/3(33%)。

这里这是介绍一个概念,关于更加详细的内容,如果感兴趣的话,可以取收集了解更多。

Base64在 Java 里的应用

Java的Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:

  • 基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/。
  • URL:输出映射到一组字符A-Za-z0-9+_,输出是URL和文件。
  • MIME:输出隐射到MIME友好格式。输出每行不超过76字符,并且使用’\r’并跟随’\n’作为分割。编码输出最后没有行分割。

分别对应如下几个方法:

Encoder basicEncoder = Base64.getEncoder();
Encoder mimeEncoder = Base64.getMimeEncoder();
Encoder urlEncoder = Base64.getUrlEncoder();

我写了一个简单的工具类来进行测试 基本(basic) 的编码器。。

package com.draGon;

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Base64.Encoder;


public class Base64Util {
	private static Encoder encoder = Base64.getEncoder();
	private static Decoder decoder = Base64.getDecoder();
	private static String ENCODE = "UTF-8";
	private static int LENGTH = 1024;
	
	
	public static String dataToBase64(File src) throws FileNotFoundException, IOException {
		Encoder encoder = Base64.getEncoder();
		
		int len = (int)src.length();
		byte[] bar = new byte[(int)len];
		int hasRead = 0;
		byte[] b = new byte[LENGTH];
		//使用专门处理 byte 的IO流比较方便,一次性读取较大文件对内存压力较大
		try (InputStream in = new BufferedInputStream(new FileInputStream(src));
				ByteArrayOutputStream bos = new ByteArrayOutputStream(len)) {
			while ((hasRead = in.read(b)) != -1) {
				bos.write(b, 0, hasRead);
			}
			bar = bos.toByteArray();
		}
		return encoder.encodeToString(bar);
	}
	
	public static String dataToBase64(String src) throws UnsupportedEncodingException {
		return encoder.encodeToString(src.getBytes(ENCODE));
	}
	
	public static byte[] base64ToData(String src) {
		return decoder.decode(src);
	}
}

将图片转为Base64字符串进行读写

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.NIO.file.Path;
import java.nio.file.Paths;

public class Base64Test {
	public static void main(String[] args) throws FileNotFoundException, IOException {
		testPic();
	}
	
	static void testPic() throws FileNotFoundException, IOException {
		// 测试图片文件。
		Path picPath = Paths.get("./src/com/dragon/001.jpg");
		File picFile = picPath.toFile();
		String picToBase64 = Base64Util.dataToBase64(picFile);
		System.out.println(picToBase64);
		long oldSize = picFile.length();
		long newSize = picToBase64.getBytes("UTF-8").length;
		System.out.println("图片原始大小(字节):" + oldSize);
		System.out.println("转换后数据大小(字节):" + newSize);
		System.out.println("转换后比原来扩大的比例为:" + (double)(newSize-oldSize)/(double)oldSize + " %");
		
		//将数据写入文件
		try (Writer writer = new BufferedWriter(new FileWriter("./src/com/dragon/002.txt"))) {
			writer.write(picToBase64);
		}
		
		//从文件中读取数据
		String line = null;
		try (BufferedReader reader = new BufferedReader(new FileReader("./src/com/dragon/002.txt"))){
			line = reader.readLine();
		}
		System.out.println(picToBase64.equals(line));
	}
}

运行截图

在这里插入图片描述

说明:这里将图片转为base64字符串后,使用字符流写入了一个文本文件,然后再使用字符流读取出来,再和原来的字符串进行比较结果为 true。 所以,就完成了对图片数据的读取,可能你这里说你读取的并不是图片的二进制数据,但是其实所有的文件都是以二进制来存储的!而且,这个base64字符串,也是可以直接作为图片来使用的。

注意:我这里已经选取了一个非常小的图片,可以看到原始大小才 3639字节,也就是不到 4 KB,但是如果转换成文字那就是不少了(所以,它会显得很长,非常长。)。

测试图片

在这里插入图片描述

然后你可能会问怎么证明这个字符串就是上面这张图片呢?这个也很好办到,如果你对前端的知识有所了解的话,应该知道前端的图片是可以使用base64字符串来表示的,下面写一个 html 文件测试一下。

image.html

<!DOCTYPE>
<html>
    <head>
        <meta charset="UTF-8"/>
        <title>base测试</title>
    </head>
    <body>
        <img src="data:image/jpeg;base64,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"/>
    </body>
<html>

打开浏览器测试一下

在这里插入图片描述

说明: 它的具体用法如下:

<img src="https://img-blog.csdnimg.cn/2022010703315790409.jpeg">

图片的大小相对于字符来说,其实是很庞大了。我这里的html代码是完整的图片的base64编码字符串,然后我的博客的字数就变大了很多。

字符串转base64编码

public class Base64Test {
	public static void main(String[] args) throws FileNotFoundException, IOException {
		testStr("I love you yesterday and today!");
	}
	
	static void testStr(String src) throws UnsupportedEncodingException {
		//测试文本数据。
		String strToBase64 = Base64Util.dataToBase64(src);
		System.out.println("base64编码:" + strToBase64);
		String base64ToStr = new String(Base64Util.base64ToData(strToBase64));
		System.out.println("base64解码:" + base64ToStr);
	}
}

测试截图

在这里插入图片描述

base64的用处

Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。包括MIME的email,email via MIME, 在XML中存储复杂数据。 注1:互联网上也有很多可以进行编解码的网站,如果需要使用的话,可以取尝试一下。

注2:可以观察一下这个base64字符串的特点,我上次学习Java爬虫的时候,爬了一个网站,发现这个网站的一个 script 脚本中,含有一个JSON对象,其中有一个属性是 url,但是对应的链接却看不懂(base64字符串是不可读的),但是我感觉它就是base64字符串,所以我利用base64编解码网站解码一看,真的是一个网站的地址。然后,就可以写一个解码方法,当爬到这个数据时,给它解码了,哈哈。

举一个简单的例子:

{"url":"aHR0cHMlM0ElMkYlMkZ3D3cuYmFpZHUuY29tJTJG"}
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Base64.Encoder;

public class TestALittle {
	public static void main(String[] args) throws UnsupportedEncodingException {
		String base64Str = "aHR0cHMlM0ElMkYlMkZ3d3cuYmFpZHUuY29tJTJG";
		String de_str = base64ToUrlEncoderToURL(base64Str);
		System.out.println("解码:" + de_str);
	}
	
	//base64解密为urlencoder,再解码为url
	public static String base64ToUrlEncoderToURL(String base64Str) throws UnsupportedEncodingException {
		Decoder decoder = Base64.getDecoder();
		byte[] bt = decoder.decode(base64Str);
		String en_str = new String(bt, 0, bt.length);
		return URLDecoder.decode(en_str, "UTF-8");
	}
}

在这里插入图片描述

说明: 这个例子中的 url 进行了两次编码,第一次是将url中的非西欧字符编码(可以去了解一下为什么这么做?),然后再使用base64编码。但是,如果你掌握了解码技术,解码也是很简单的。(但是如果你看不出来它是base64编码,那估计就没有办法了!)

总结

其实这也很容易理解,你可以想一下,文本文件本质上也是二进制文件(因为所有的文件都是二进制存储的),你能看到文字并不是因为文件里面记录了文字,而是记录了文字的编码,打开后会进行解码。(随便打开一个非文本文件(记事本),你就能看到了,都是乱码。)所以如果有一种编码方式可以对二进制数据进行处理,并且能表示所有的二进制数据,那么二进制数据也可以以特殊字符的方式显示。好了,这里简单的介绍了一下,如何使用字符流来读取文件,那就是通过base64对文件进行编码,然后再使用字符流进行处理。

到此这篇关于Java如何使用字符流读写非文本文件的文章就介绍到这了,更多相关Java字符流读写非文本内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java如何使用字符流读写非文本文件

本文链接: https://www.lsjlt.com/news/209461.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java如何使用字符流读写非文本文件
    目录使用字符流读取文件(非文本)Base64编码base64编码简介编码规则编码方式的缺点Base64在 Java 里的应用将图片转为Base64字符串进行读写字符串转base64编...
    99+
    2023-05-15
    Java字符流 字符流读写非文本
  • Java怎么使用字符流读写非文本文件
    今天小编给大家分享一下Java怎么使用字符流读写非文本文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用字符流读取文件(...
    99+
    2023-07-06
  • Java不能使用字符流读取非文本二进制文件的原因是什么
    这篇文章主要介绍“Java不能使用字符流读取非文本二进制文件的原因是什么”,在日常操作中,相信很多人在Java不能使用字符流读取非文本二进制文件的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jav...
    99+
    2023-07-06
  • 浅谈一下Java为什么不能使用字符流读取非文本的二进制文件
    目录读取文件为什么会这样呢?总结读取文件 刚学Java的IO流部分时,书上说只能使用字节流去读取图片、视频等非文本二进制文件,不能使用字符流,否则文件会损坏。所以我就一直记住这一点了...
    99+
    2023-05-15
    Java字符流 字符流读取非文本 Java二进制文件
  • 使用Java怎么将字符串写入文本文件
    今天就跟大家聊聊有关使用Java怎么将字符串写入文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Filewriter与File——-将字符串写入文本文件public&nbs...
    99+
    2023-05-30
    java 字符串
  • 如何使用C#读写文本文件
    这篇文章将为大家详细讲解有关如何使用C#读写文本文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。读取txt文件 如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(...
    99+
    2023-06-15
  • Java 如何利用缓冲流读写文件
    利用缓冲流读写文件 从控制台读取数据写入文件 读取文件输出到控制台 public class BookTest { public static void main(String...
    99+
    2022-11-12
  • java中怎么使用io流读写文件
    在Java中,可以使用IO流来读写文件。下面是一些常见的示例:1. 使用FileInputStream和FileOutputStre...
    99+
    2023-08-26
    java
  • 怎么在Java中使用IO流读写文件
    本篇文章为大家展示了怎么在Java中使用IO流读写文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.读文件public class ReadFromFile { public static...
    99+
    2023-05-31
    java io流 ava
  • java如何通过字符缓冲流拷贝文件
    这篇文章主要介绍java如何通过字符缓冲流拷贝文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!通过字符缓冲流拷贝文件字符缓冲流只能读取文本文件   public static...
    99+
    2023-06-17
  • java如何通过字符流实现文件拷贝
    这篇文章将为大家详细讲解有关java如何通过字符流实现文件拷贝,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通过字符流实现文件拷贝使用字符流只能拷贝文本文件    ...
    99+
    2023-06-17
  • 如何使用C语言将数字、字符等数据写入、输出到文本文件中
    目录1.首先需要声明一个文件指针变量2.接下来需要对这个指针变量进行初始化3.然后开始利用相应函数将数据写入文件4.最后一步,也是关键的一步总结最近在调试程序,想把过程中需要查看的数...
    99+
    2022-11-13
  • java中如何使用字节流复制文件
    这篇文章将为大家详细讲解有关java中如何使用字节流复制文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。以前在学校,为了准备某个证书考试,预习的时候写的。没什么技术含量,主要是熟悉一下,j2se中基本控...
    99+
    2023-06-17
  • 如何使用node读写Excel文件
    这篇文章给大家介绍如何使用node读写Excel文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体如下:1、安装node-xlsx模块每次npm的时候,走国外的镜像,非常的慢,甚至...
    99+
    2022-10-19
  • 如何使用vbscript来读写文件
    这篇文章主要讲解了“如何使用vbscript来读写文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用vbscript来读写文件”吧!      &nbs...
    99+
    2023-06-08
  • Java文件学习笔记:如何在Linux系统中使用Java API读写文件?
    在Java编程中,读写文件是一个非常基础的操作。Java提供了丰富的API用于读写文件,本文将介绍如何在Linux系统中使用Java API读写文件。 一、使用File类操作文件 File类是Java中用于操作文件和目录的类。通过File...
    99+
    2023-08-30
    文件 学习笔记 linux
  • java如何通过FileOutputStream字节流向文件中写数据
    目录通过FileOutputStream字节流向文件中写数据java 字节流向文件中写入指定内容字符流 就像这样字符流则是总结通过FileOutputStream字节流向文件中写数据...
    99+
    2022-12-26
    java FileOutputStream FileOutputStream字节流 字节流向文件写数据
  • 如何使用Java并发编程处理文件读写?
    Java并发编程是一种处理多线程应用程序的技术,它可以有效地提高应用程序的性能和响应速度。对于需要频繁进行文件读写操作的应用程序,使用Java并发编程可以帮助我们更加高效地处理文件读写。 本文将介绍如何使用Java并发编程处理文件读写,包括...
    99+
    2023-10-17
    并发 响应 文件
  • 如何使用 Python 快速读写文件?
    当我们处理大量数据时,读写文件是非常常见的任务。Python 提供了一系列的内置函数和模块,可以帮助我们快速地读写文件。在本文中,我们将介绍如何使用 Python 快速读写文件。 读文件 Python 读取文件的最基本方法是使用内置函数 o...
    99+
    2023-07-30
    数组 文件 ide
  • 如何使用h5+js实现本地文件读取和写入
    小编给大家分享一下如何使用h5+js实现本地文件读取和写入,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   代码如下:   读取本地文件   <!doctypehtml>...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作