`

java文件IO操作。

 
阅读更多

 

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读取.

 

 

1
4
分享到:
评论

相关推荐

    Java 文件IO操作学习文档

    详细介绍了JAVA常用的文件IO接口类和内存读写接口类。

    Java文件IO操作教程之DirectIO的意义

    Java 文件 IO 操作教程之 DirectIO 的意义 Java 文件 IO 操作教程之 DirectIO 的意义是指在 Java 中使用 DirectIO 机制来实现文件 IO 操作的教程。DirectIO 是一种低级别的 IO 机制,可以绕过操作系统的 PageCache...

    java的io操作

    Java的IO操作是Java编程中不可或缺的一部分,它允许程序与外部存储设备进行交互,如读取文件、写入文件、创建文件夹等。在Java中,`java.io`包提供了大量的类和接口来支持这些功能。 首先,我们来看如何创建一个新...

    Java中文件IO流.pdf

    Java 中文件 IO 流是指 Java 语言中对文件的输入输出操作,通过定义文件流来实现文件的读写操作。文件流是指在程序中用于文件输入输出的对象, Java 中提供了多种文件流类型,包括 InputStream 和 OutputStream 两大...

    Java IO 基础操作(文件读写和移动)

    在Java编程语言中,输入/输出(IO)是处理数据传输的核心部分,特别是在与文件系统交互时。本文将深入探讨Java中的基本文件操作,包括文件的移动、读写以及文本文件的读写。 首先,让我们从文件操作开始。在Java中...

    java_IO操作

    Java IO 操作是Java编程中不可或缺的一部分...以上就是Java IO操作的基本知识,包括了读写文件的各种方式以及相关的文件操作。在实际开发中,根据具体需求选择合适的IO流和操作方法,能够有效地处理文件和数据的传输。

    java的各种io操作

    Java的IO操作是Java编程中的重要组成部分,它允许开发者处理输入和输出,包括读取文件、写入文件、复制文件、创建目录等。在Java中,IO操作主要依赖于`java.io`包中的类和接口。 1. **新建目录**: 在Java中,我们...

    java_io.rar_java 文件操作_java 读取 本地文件_java.io转动_文件操作

    本资源“java_io.rar”提供了关于如何在Java中进行文件操作的示例代码,包括读取、移动、删除和复制文件等常见任务。我们将深入探讨这些主题,以便更好地理解Java I/O API的使用。 首先,让我们从读取本地文件开始...

    Java简单的文件IO程序

    首先,Java中的文件IO操作主要依赖于`java.io`包中的类,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。在描述中提到的`File`类是Java中的核心类,用于表示文件和目录路径名的抽象...

    java的io操作源代码

    本代码库包含了Java进行基本IO操作的源代码,涵盖了文件的复制、删除、新建和移动等功能,非常适合初学者理解和实践。 首先,我们来探讨一下Java IO操作的基本概念。在Java中,IO操作基于流(Stream)的概念,流是...

    java 使用IO流实现文件的复制

    在Java编程语言中,文件复制是一项常见的操作,可以用于备份数据、迁移文件或者在程序中处理数据。IO(Input/Output)流是Java提供的一种处理输入输出数据的方式,包括读取和写入文件。本篇文章将详细介绍如何使用...

    java 复制文件 io流操作

    在Java编程语言中,文件复制是一项常见的任务,主要通过IO(Input/Output)流来实现。...在实际开发中,还可以考虑使用NIO(New IO)或Java 7引入的`Files.copy()` 方法,它们提供了更高效和简洁的文件操作方式。

    Java-Io流,练习

    为了提高IO操作的效率,Java提供了缓冲流,如`BufferedInputStream`和`BufferedOutputStream`,以及`BufferedReader`和`BufferedWriter`。这些类在内部维护了一个缓冲区,可以减少实际的物理I/O次数。 五、转换流...

    javaIO操作简单例子

    下面是一个简单的Java IO操作示例,展示如何使用InputStream和FileOutputStream进行文件的复制: ```java import java.io.*; public class SimpleIOTest { public static void main(String[] args) { try { ...

    java 文件操作及IO流

    Java 文件操作与IO流是Java编程中的核心概念,主要用于数据的读取、写入和传输。在Java中,文件操作通常涉及到`java.io`包下的类,如`File`、`FileOutputStream`、`OutputStreamWriter`和`BufferedWriter`等。下面将...

    javaIo操作的基础代码

    在Java中,IO操作涉及到文件、字节流、字符流以及管道流等多个概念。下面将详细解释这些知识点。 首先,我们来看“文件类”。在Java中,`java.io.File`类用于表示文件和目录路径名的抽象表示。它提供了创建、删除、...

    java的IO操作常规

    Java的I/O操作是Java编程中非常基础且重要的知识点。它允许程序读取或写入数据,与文件系统和其他输入/输出设备进行交互。...Java的IO操作不仅限于文件,还包括网络通信等更广泛的应用场景,是进行Java开发的必备知识。

Global site tag (gtag.js) - Google Analytics