public static void main(String[] args) {
String filename = "F:/zhangming_test/test.txt";
String filename1 = "F:/zhangming_test/test1.txt";
String docfileName = "F:/猪猪猫xp系统.rar";
// String filename = "F:/zhangming_test/test_doc.doc";
// readFile(filename);
// copyFileBychar(filename);
copyFileByByte(docfileName);
System.out.println("ddd");
}
/**
* 该方法只支持读取字符文件并复制文件. 按行读取的 文件锁未考虑
*
* @param filename
*/
public static void copyFileBychar(String filename) {
FileReader fileReader = null;
BufferedWriter bufferedWriter = null;
try {
bufferedWriter = new BufferedWriter(new PrintWriter(new File(
"F:/zhangming_test/test2.txt")));
fileReader = new FileReader(new File(filename));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedReader bufferedReader = new BufferedReader(fileReader);
String linecontent = null;
try {
// 調用readLine方法會移動流的指針
while ((linecontent = bufferedReader.readLine()) != null) {
System.out.println(linecontent);
bufferedWriter.write(linecontent);
}
bufferedWriter.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bufferedReader.close();
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 每次读取一定数量byte的文件流. 文件锁未考虑
* @param inputFileName
*/
public static void copyFileByByte(String inputFileName) {
InputStream inputStream = null;
OutputStream outputStream = null;
try {
inputStream = new FileInputStream(new File(inputFileName));
// ==方法一(一次性把文件的所有内容都添加读取到byte中)==
// inputStream.read(bs);
// outputStream = new FileOutputStream(new File(
// "F:/zhangming_test/test6.doc"));
// outputStream.write(bs);
// ==方法二==
outputStream = new FileOutputStream(new File(
"F:/猪猪猫xp系统1.rar"));
byte[] tmpBytes = new byte[1024];
while (inputStream.read(tmpBytes) != -1) {
outputStream.write(tmpBytes, 0, tmpBytes.length);
}
outputStream.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
} finally {
try {
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void copyFileWithNio(String srcFile, String destFile) {
try {
FileChannel srcChannel = new FileInputStream(new File(srcFile))
.getChannel();
FileChannel destChannel = new FileOutputStream(new File(destFile))
.getChannel();
try {
destChannel.transferFrom(srcChannel, 0, srcChannel.size());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
srcChannel.close();
destChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} //最简单,使用代码最少。
以后开发的时候要用直接拿过来修修改改就OK了。当然可以考虑使用nio读取.
分享到:
相关推荐
详细介绍了JAVA常用的文件IO接口类和内存读写接口类。
Java 文件 IO 操作教程之 DirectIO 的意义 Java 文件 IO 操作教程之 DirectIO 的意义是指在 Java 中使用 DirectIO 机制来实现文件 IO 操作的教程。DirectIO 是一种低级别的 IO 机制,可以绕过操作系统的 PageCache...
Java的IO操作是Java编程中不可或缺的一部分,它允许程序与外部存储设备进行交互,如读取文件、写入文件、创建文件夹等。在Java中,`java.io`包提供了大量的类和接口来支持这些功能。 首先,我们来看如何创建一个新...
Java 中文件 IO 流是指 Java 语言中对文件的输入输出操作,通过定义文件流来实现文件的读写操作。文件流是指在程序中用于文件输入输出的对象, Java 中提供了多种文件流类型,包括 InputStream 和 OutputStream 两大...
在Java编程语言中,输入/输出(IO)是处理数据传输的核心部分,特别是在与文件系统交互时。本文将深入探讨Java中的基本文件操作,包括文件的移动、读写以及文本文件的读写。 首先,让我们从文件操作开始。在Java中...
Java IO 操作是Java编程中不可或缺的一部分...以上就是Java IO操作的基本知识,包括了读写文件的各种方式以及相关的文件操作。在实际开发中,根据具体需求选择合适的IO流和操作方法,能够有效地处理文件和数据的传输。
Java的IO操作是Java编程中的重要组成部分,它允许开发者处理输入和输出,包括读取文件、写入文件、复制文件、创建目录等。在Java中,IO操作主要依赖于`java.io`包中的类和接口。 1. **新建目录**: 在Java中,我们...
本资源“java_io.rar”提供了关于如何在Java中进行文件操作的示例代码,包括读取、移动、删除和复制文件等常见任务。我们将深入探讨这些主题,以便更好地理解Java I/O API的使用。 首先,让我们从读取本地文件开始...
首先,Java中的文件IO操作主要依赖于`java.io`包中的类,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。在描述中提到的`File`类是Java中的核心类,用于表示文件和目录路径名的抽象...
本代码库包含了Java进行基本IO操作的源代码,涵盖了文件的复制、删除、新建和移动等功能,非常适合初学者理解和实践。 首先,我们来探讨一下Java IO操作的基本概念。在Java中,IO操作基于流(Stream)的概念,流是...
在Java编程语言中,文件复制是一项常见的操作,可以用于备份数据、迁移文件或者在程序中处理数据。IO(Input/Output)流是Java提供的一种处理输入输出数据的方式,包括读取和写入文件。本篇文章将详细介绍如何使用...
在Java编程语言中,文件复制是一项常见的任务,主要通过IO(Input/Output)流来实现。...在实际开发中,还可以考虑使用NIO(New IO)或Java 7引入的`Files.copy()` 方法,它们提供了更高效和简洁的文件操作方式。
为了提高IO操作的效率,Java提供了缓冲流,如`BufferedInputStream`和`BufferedOutputStream`,以及`BufferedReader`和`BufferedWriter`。这些类在内部维护了一个缓冲区,可以减少实际的物理I/O次数。 五、转换流...
下面是一个简单的Java IO操作示例,展示如何使用InputStream和FileOutputStream进行文件的复制: ```java import java.io.*; public class SimpleIOTest { public static void main(String[] args) { try { ...
Java 文件操作与IO流是Java编程中的核心概念,主要用于数据的读取、写入和传输。在Java中,文件操作通常涉及到`java.io`包下的类,如`File`、`FileOutputStream`、`OutputStreamWriter`和`BufferedWriter`等。下面将...
在Java中,IO操作涉及到文件、字节流、字符流以及管道流等多个概念。下面将详细解释这些知识点。 首先,我们来看“文件类”。在Java中,`java.io.File`类用于表示文件和目录路径名的抽象表示。它提供了创建、删除、...
Java的I/O操作是Java编程中非常基础且重要的知识点。它允许程序读取或写入数据,与文件系统和其他输入/输出设备进行交互。...Java的IO操作不仅限于文件,还包括网络通信等更广泛的应用场景,是进行Java开发的必备知识。