一 FileInputStream 方式读写 可以读写 jpg doc txt等文件,因为 以字节流 方式传输
二 FileReader 方式读写 只能读写txt文件,因为以 字符流 方式传输
package test.file;
import java.io.*;
public class FileIOTest {
/**
* 读取的字符 为-1 表示文件结束 对中文采用unicode
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
FileIOTest f = new FileIOTest();
try {
f.ReadWriteFileByByte();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//用字节流传输 可以将字节流转换成指定的字符流 详见 函数ReadWriteFile
public void ReadWriteFileByByte() throws IOException{
String sfile = "c:\\企业文化(1)(1).doc";
// String sfile = "c:\\ask.jpg";
String dfile ="d:\\企业文化(1)(1).doc";
File srcFile = new File(sfile);
File destFile = new File(dfile);
try {
if(!destFile.exists()){
destFile.createNewFile();
}
FileInputStream fin = new FileInputStream(srcFile);
FileOutputStream fout = new FileOutputStream(destFile);
// 在末尾追加字符
// FileOutputStream fout = new FileOutputStream(destFile,true);
//这样是不对的 因为无法检测是否为-1 表示文件结束
// byte[] bytes = new byte[1024];
// fin.read(bytes);
// fout.write(bytes);
// 一次读取1024字节
byte[] bytes = new byte[1024];
while(fin.read(bytes)!=-1){
fout.write(bytes);
fout.flush();
}
fin.close();
fout.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//用字符流输入输出 readline 一行一行地读取
public void ReadWriteFile() throws IOException{
//只能打开txt 文件 复制 c:\\企业文化.doc就出现乱码
String sfile = "c:\\ProjectEstablishFinderImpl.java";
String dfile ="d:\\ProjectEstablishFinderImpl.java";
//转换编码 这里没有用到
File srcFile = new File(sfile);
FileInputStream fin1 = new FileInputStream(srcFile);
InputStreamReader ins1 = new InputStreamReader(fin1,"utf-8");
// 转换编码结束
// File destFile = new File(dfile);
// FileOutputStream fout = new FileOutputStream(destFile);
// OutputStreamWriter outs = new OutputStreamWriter(fout);
FileReader ins = new FileReader(sfile);
FileWriter outs = new FileWriter(dfile);
BufferedReader readBuf = new BufferedReader(ins);
BufferedWriter writeBuf = new BufferedWriter(outs);
String s = null;
while((s=readBuf.readLine())!=null){
// System.out.println(s);
writeBuf.write(s);
writeBuf.newLine();//启用新的一行
writeBuf.flush();
}
readBuf.close();
writeBuf.close();
}
//编码转换~~
// public String encode(byte[] array){
// String~~
// return EncodingUtils.getString(array,TEXT_ENCODING);
// }
}
分享到:
相关推荐
在本主题"xls文件读写--图形界面---Swing"中,我们将探讨如何利用Swing构建一个应用,该应用允许用户通过GUI选择并操作Excel(xls)文件,特别是用于工资条打印。 首先,我们需要引入必要的库,包括`javax.swing`和...
3. **文件读写**: - 读取文件:`BufferedReader`和`InputStreamReader`组合可以逐行读取文本文件,`FileInputStream`用于二进制文件。 - 写入文件:`PrintWriter`或`BufferedWriter`可用于文本文件,`...
在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。本示例"读写文件操作demo-java"旨在教你如何使用Java进行文件的读取和写入,这对于处理数据存储、日志记录或是任何需要与磁盘交互的应用程序至关重要...
在Java编程语言中,文件读写操作是程序与外部数据交互的基本能力。这篇学习笔记将带你初探这个领域,适合新手入门。我们将讨论如何使用Java进行文件的读取、写入以及一些常见的应用场景。 首先,Java提供了java.io...
总结,Java中的文件读写操作涉及到多个类和接口,理解并熟练运用它们是每个Java开发者必备的技能。通过上述介绍和示例,你应该对Java的文件操作有了基本的认识。实践中,你可以根据具体需求选择合适的方法和类,实现...
### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...
`FileInputStream`和`FileOutputStream`是Java.io包下的核心类,它们分别代表了文件输入流和文件输出流。这两个类用于对文件进行字节级别的读写操作,适用于处理任何类型的二进制数据,如图片、音频、视频文件等。 ...
在Java编程中,文件读写是一项基础且重要的操作。它涉及到如何访问和处理磁盘上的文件,包括读取文本文件、二进制文件,以及写入新的数据到文件中。在这个场景中,我们关注的是“java文件读写”,特别是读取`...
- 在文件读写过程中可能会遇到各种异常(如文件不存在、权限不足等)。 - 使用try-catch语句块捕获并处理这些异常,避免程序崩溃。 - 输出异常堆栈信息可以帮助定位问题所在。 6. **注意事项** - 确保源目录...
虽然Java标准库对文件权限的操作相对有限,但可以通过`setWritable()`, `setReadable()`, `setExecutable()`方法改变文件的读写执行权限。 这个示例项目不仅提供了上述基本操作,还可能包含了多线程、缓冲流(提高...
通过上述四个主要部分的分析,我们可以看到Java语言在处理文件读写方面提供了丰富的API支持。使用合适的类库可以极大地简化开发工作并提高程序的性能。例如,使用`StringBuffer`可以有效地处理字符串的动态增长;而`...
随着Java的发展,不同版本提供了多种方式来处理文件读写,这使得开发者可以根据实际需求选择最合适的方法。本文将重点探讨Java在不同版本中所提供的文件读写方式,并对其进行对比分析。 #### 一、JDK 1.0 中的文件...
### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入...
根据给定的文件信息,我们将深入探讨Java读写文件文本文件的关键知识点,这些知识点主要集中在文件的读取、写入以及流的复制等操作上。 ### Java读取文本文件 在Java中,读取文本文件通常涉及到使用`InputStream`...
在Java编程中,CSV(Comma Separated Values)...通过以上步骤和知识点,你应该能够有效地解决Java读写CSV文件时遇到的中文乱码问题。在实际项目中,结合具体的错误现象,灵活应用这些知识就能顺利处理各种编码问题。
### Java读写Properties配置文件详解 #### 一、引言 在Java开发中,`Properties`类被广泛用于处理各种类型的配置文件。这些文件通常包含了应用程序运行时所需的配置信息,如数据库连接信息、系统参数等。`...
FileInputStream和FileOutputStream用于读写文件,而FileReader和FileWriter则处理字符文件。 7. **文件流的复制**:使用FileInputStream和FileOutputStream,结合Buffered流,可以实现高效的大文件复制。 8. **...
Java的IO流是Java平台提供的一种处理输入输出数据的重要机制,尤其在文件读写方面,它扮演着核心角色。对于初学者来说,理解和掌握Java IO流的使用是学习Java编程的基础,也是进阶到更复杂系统开发的关键一步。 ...
在IT领域,文件读写是程序与数据交互的基础操作,无论是开发桌面应用、网页服务还是移动应用,都离不开对文件的处理。文件读写涉及多种技术,包括文本文件的读取与写入、二进制文件操作、流式处理、缓冲机制等。下面...