一、中文相关的字符集
GBK:包含繁体和简体的字符集
GB2312:主要指简体中文
ISO8859-1:国际通用编码
JVM中默认的编码方式是:GBK
乱码产生的根本原因是:两个操作间的字符集没有统一起来。
二、查看当前系统的编码方式
System:public static Properties getProperties()确定当前的系统属性。
Properties:public void list(PrintStream out)将属性列表输出到指定的输出流。此方法对调试很有用。
public class ShowPropertiesDemo
{
public static void main(String args[])
{
// 通过此代码观察一下当前JVM中设置的属性
System.getProperties().list(System.out) ;
}
}
三、将信息以指定编码存入文件
import java.io.* ;
public class EncodeDemo
{
public static void main(String args[]) throws Exception
{
OutputStream out = null ;
out = new FileOutputStream(new File("D:/FileTest/a.txt")) ;
String str = "Hello,World" ;
out.write(str.getBytes("GB2312")) ;
out.close() ;
}
};
四、SequenceInputStream类及其应用
SequenceInputStream:public SequenceInputStream(InputStream s1,InputStream s2)通过记住这两个参数来初始化新创建的 SequenceInputStream(将按顺序读取这两个参数,先读取 s1,然后读取 s2),以提供从此 SequenceInputStream 读取的字节。
import java.io.* ;
public class SequenceInputStreamDemo{
public static void main(String args[]) throws Exception{
InputStream in1 = null ;
InputStream in2 = null ;
// 建立一个输出流
OutputStream out = null ;
in1 = new FileInputStream(new File("C:\\Users\\HP\\Desktop\\明年.txt")) ;
in2 = new FileInputStream(new File("C:\\Users\\HP\\Desktop\\今天.txt")) ;
out = new FileOutputStream(new File("C:\\Users\\HP\\Desktop\\hebing.txt")) ;
// 此处相当于将两个文件合并了
SequenceInputStream seq = null ;
seq = new SequenceInputStream(in1,in2) ;
// 文件合并之后输出到:lxhmldn.txt文件之中
int c = 0 ;
while((c=seq.read())!=-1)
{
out.write(c) ;
}
in1.close() ;
in2.close() ;
out.close() ;
seq.close() ;
}
}
分享到:
相关推荐
Java IO 操作是Java编程中不可或缺的一部分...以上就是Java IO操作的基本知识,包括了读写文件的各种方式以及相关的文件操作。在实际开发中,根据具体需求选择合适的IO流和操作方法,能够有效地处理文件和数据的传输。
在Java编程语言中,文件合并是一项常见的操作,特别是在处理大量数据或者日志文件时。本文将深入探讨如何使用`BufferedReader`和`FileReader`来实现这个功能。这两个类是Java标准库中的IO流类,它们能够高效地读取和...
### Java之精髓IO流 #### 一、Input和Output 在Java编程中,输入输出(Input/Output,简称IO)是处理数据交换的核心技术之一。Java的IO系统提供了丰富的类库来支持各种类型的输入输出操作,包括文件读写、网络通信...
它们可以根据指定的字符集将字节流转换为字符流,反之亦然。 ### 4. 对象流 `ObjectInputStream`和`ObjectOutputStream`支持序列化和反序列化,使得对象可以被写入到流中并从流中读取出来,常用于网络传输或持久化...
#### 一、Java IO流概念及背景 - **引入原因**:在Java中,为了能够方便地与外部设备(如硬盘、网络等)进行数据交互,设计了一套标准的输入输出处理机制,即IO流。这使得程序能够更加灵活地处理各种类型的数据。 ...
Unicode是一种广泛使用的字符集,支持世界上几乎所有的字符。ISO-8859-1是另一种常见的编码,主要用于西欧语言。理解不同编码之间的差异对于正确处理多语言文本至关重要。 总结,Java IO流涉及的概念广泛,包括流的...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
例如,System.getProperty("file.encoding")可以获取系统默认的文件编码,Charset.defaultCharset()则返回默认的字符集。 对于字节输入流,Java提供了一系列子类,如ByteArrayInputStream可以从内存缓冲区读取数据...
这个库提供了大量的实用工具类,简化了处理文件、流、字符集、序列化和其它I/O相关任务的方式。它弥补了Java标准库在I/O操作上的不足,使开发人员能够更高效、更灵活地进行文件操作。 在`commons-io-2.11.0`版本中...
3. **字符集处理**:支持多种字符集的转换,使得在不同编码格式间操作字符串更加便捷。 4. **文件过滤器**:可以创建自定义的文件过滤条件,如按文件类型、大小或最后修改时间筛选文件。 5. **文件观察者**:允许...
Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。版本2.6是该库的一个稳定版本,提供了大量的类和方法来简化常见的IO任务。这个库是Java开发人员在处理文件、流、过滤器、读写操作时的重要工具。在本...
6. **字符集转换**: `Charsets` 类定义了一些常用的字符集常量,避免了手动编写字符集名称,提高了代码可读性。 7. **文件过滤**: `FileFilterUtils` 提供了一系列工厂方法,用于创建不同类型的文件过滤器,可以...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历...
这个库包含了大量实用工具类,简化了对文件、流、字符集、缓冲区、读写操作等的处理。标题中的"commons-io-2.2-bin.zip"指的是Apache Commons IO库的2.2版本的二进制发行版,通常包含jar文件和其他资源。 在 ...
3. 字符集转换:支持多种字符编码。 4. 文件观察:监听文件系统事件,如文件创建、修改、删除等。 5. 输入/输出过滤器:可以插入到输入/输出流中,提供数据转换或处理。 6. 文件比较:比较两个文件或目录的内容。 7....
8. **编码转换**:IOUtils 还包含了字符集转换的工具,帮助处理不同编码格式的文件。 9. **版本信息**:版本.txt 文件通常包含软件的版本信息,方便用户了解当前使用的库的详细版本。 Apache Commons IO 的设计...
在上述代码中,我们首先创建一个`BufferedReader`来读取输入文件,并指定字符集为UTF-8。然后,我们检查读取的前三个字节是否对应UTF-8的BOM头。如果是,我们就跳过这三个字节;如果不是,说明文件不含BOM头。接着,...
032004_【第20章:Java新IO】_字符集笔记.pdf 032005_【第20章:Java新IO】_Selector笔记.pdf 042101_【课程讲解】_附录:Eclipse开发工具笔记.pdf 050101_〖开发实例〗_Java开发实例讲解(人员管理)笔记.pdf
在 Commons IO 中,我们可以找到许多有用的类和方法,这些在处理文件、流、字符集转换、读写操作等方面特别有用。以下是一些关键知识点: 1. **FileUtils**: 提供了大量静态方法来操作文件,如复制、移动、删除、...