前几天遇到了用IO流读取txt(或其它类型文件)是中存储的文字信息和图片信息,在网上找了很久都没有找到想要的答案。今天终于把这个问题解决了,拿出来跟大家分享下,希望对有同样需求的大虾们有所帮助!不过最后还有点疑问,因为是用的二进制流读取的文字和图片信息,图片信息是以“END”结束的,现在的问题是怎么读到“END”就中止图片的读取?
public class Test {
static File save = new File("save.txt");
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
test1();
test2();
test3();
}
//把文字信息写进TXT文件中
public static void test1() throws IOException {
if (!save.exists())
save.createNewFile();
FileOutputStream output = new FileOutputStream(save);
OutputStreamWriter output_writer = new OutputStreamWriter(output);
PrintWriter pr = new PrintWriter(output_writer);
pr.print(new Date());
pr.print("==============img");
pr.flush();
pr.close();
output_writer.close();
output.close();
}
//把图片信息写进TXT文件中(在文字信息之后写)
public static void test2() throws IOException {
File file = new File("1.bmp");
if (!save.exists())
save.createNewFile();
FileInputStream input_stream = new FileInputStream(file);
FileOutputStream out_stream = new FileOutputStream(save, true);
int len = 0;
byte[] bytes = new byte[1024];
while (-1 != (len = input_stream.read(bytes))) {
out_stream.write(bytes, 0, len);
}
out_stream.close();
input_stream.close();
}
//分别读去文字信息及图片信息
public static void test3() throws IOException {
FileInputStream input = new FileInputStream(save);
File temp = new File("temp.bmp");
if (!temp.exists())
temp.createNewFile();
FileOutputStream output = new FileOutputStream(temp);
byte[] bytes = new byte[1];
int len = 0;
while (-1 != (len = input.read(bytes))) {
String temp1 = new String(bytes);
System.out.println(temp1);
if ("g".equals(temp1))//以g结束文字信息的读取
break;
}
byte[] bytes1 = new byte[1024];
int len1 = 0;
//开始读取图片信息
while (-1 != (len1 = input.read(bytes1))) {
output.write(bytes1, 0, len1);
}
output.close();
input.close();
}
}
分享到:
相关推荐
在C#编程中,读取TXT文件是一项常见的任务,尤其当需要处理文本数据时。本教程将详细讲解如何使用C#来读取TXT文件,并针对特定内容后提取文字。我们将探讨以下关键知识点: 1. **文件操作基础**: 在C#中,`System...
### Java中的IO流类详解 #### 一、IO流概述 **IO流**是指在Java中用于处理设备间数据传输的技术。这里的“设备”既包括外围设备(如硬盘、U盘、光盘、移动硬盘、打印机、屏幕和键盘等),也涵盖了内存。所有的数据...
本篇文章将详细探讨如何从XPS文件中提取文字和图片,以及相关的编程实现。 XPS文件结构: XPS文件是一个包含多个XML文档的压缩包,这些文档定义了页面布局、文本、图像和其他视觉元素。主要的XML文件包括package....
本篇文章将详细探讨如何在C#中将Word文档和图片以二进制流的形式存储到数据库,并从数据库中读取后进行显示。 首先,我们要理解什么是二进制流。二进制流(Binary Stream)是数据的一种表示方式,它将文件内容转换...
通过以上介绍,我们了解到在C#环境中,利用OCR技术特别是Tesseract OCR来识别含中文的图片文字的基本步骤和注意事项,以及如何进行批量处理和性能优化。实践中,开发者可以根据具体需求进行调整和扩展。
在Java编程环境中,保存图片和文字是一项常见的任务,特别是在创建应用程序、处理用户界面或进行数据存储时。本文将深入探讨如何使用Java实现这一功能,并基于提供的`pebble-2.0.1`压缩包文件(这可能是一个模板引擎...
4. **图片保存与加载**:保存用户输入的文字和图片,通常会用到SharedPreferences或者SQLite数据库来存储文字数据,而图片则需要保存到文件系统,如内部存储或外部存储。图片的路径可以作为键值对一同保存,以便于...
在IT行业中,PDF(Portable Document Format)是一种广泛使用的文件格式,用于存储文档,包括文本、图像和排版信息。然而,有时我们可能需要将PDF文件转换成更易于处理的文本格式,例如TXT。C#是一种常用的编程语言...
总的来说,Python结合pdfminer和Tesseract能有效地实现PDF中的文字识别和读取,为自动办公和测试自动化提供便利。在实际项目中,可以根据PDF的具体特点选择合适的工具和方法,以提高处理效率和准确性。
Java 读取 PDF 中的文本和图片的方法 本文将介绍通过 Java 程序来读取 PDF 文档中的文本和图片的方法。分别调用方法 extractText() 和 extractImages() 来读取,需要的朋友可以参考下。 读取 PDF 文本 在读取 PDF...
"java 长微博,文字&图片生成自定义图片"这一主题聚焦于如何利用Java技术来创建包含文字和图片的个性化长微博图像。下面我们将深入探讨这一话题,讲解相关的知识点。 首先,Java提供了丰富的库来处理图像操作,其中...
在设计文件存储用户信息时,需要考虑如何组织数据,以便于读取和写入。可能的方式有每行存储一个用户,或者用特定分隔符(如逗号、冒号)来区分用户名和密码。 7. 安全性: 虽然这是一个模拟系统,但在实际应用中...
在SQL Server数据库中,`Image`数据类型用于存储大量的二进制数据,如图片、文档等。在C#编程环境中,我们经常需要处理这类数据,包括从数据库读取`Image`字段并显示为图片,或者将图片数据写入数据库。本篇文章将...
- **IO流**:Java的IO流库用于读写文件,这里可能是用来读取图片和保存查询结果。 - **多线程**:如果系统需要同时执行多个任务,如查询数据库和显示结果,可能会用到多线程技术。 2. **数据库管理**: - **SQL*...
Android提供了Java.IO和Android.Content包,用于读写文件。在项目中,可能需要将水印信息保存到本地文件系统,或者从文件中读取嵌入的信息。 8. 测试与调试: 为了确保功能的正确性,开发者需要编写测试用例,...
在IT行业中,图片处理是一项常见的任务,特别是在网页开发和内容管理中。本知识点将深入探讨如何使用Java语言处理图片,特别是如何在图片上添加文字水印,并通过MultipartFile类型接收文件,最后将其转换为...
PDF文件的内容存储在一个复杂的结构中,包括对象、交叉引用表和文件头尾等部分,这使得直接读取文本变得复杂。 在VC++环境中,我们可以利用开源库如Poppler、PDFium或PDFBox等来处理PDF文件。例如,Poppler是一个...
FileStream用于读写磁盘上的文件,而MemoryStream则用于在内存中处理数据,如临时存储图片数据。 6. 图像处理库: ASP.NET中虽然可以直接使用GDI+进行图像处理,但更常见的是使用第三方库,如ImageSharp、...
3. IO流工具类的抽取,将所有的关流(字节流和字符流)方法抽取出来,优化代码 4. 字符流:(重点) * 使用场景:使用于处理文本相关的文件 * * Reader 抽象类: * |子类 * ...
在这个场景中,标题和描述提到了使用VB(Visual Basic)和C#两种编程语言来实现图片和文字的加密与解密,并结合了Base64编码技术。下面我们将详细探讨这些知识点。 1. **Visual Basic (VB)**:VB是Microsoft开发的...