`

Java IO中的FileReader 和 FileWriter读写文件,和创建多级文件夹

阅读更多
package pack.java.io;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;

import sun.misc.Resource;

public class CreateFileDemo {
	/**
	 * 测试主方法;
	 * @param args
	 */
	public static void main(String[] args) {
		//System.getProperty("user.dir")是取得当前项目的根目录;然后,在拼出文件所在的目录;
		String file=System.getProperty("user.dir")+"\\src"+File.separator+"\\myFile.txt";
		File writeFile=new File("C:\\iodemo\\File\\");
		System.out.println("获得父级目录:"+writeFile.getParent());
		
		//如果目录不存在,则创建目录;
		if(!writeFile.exists()){
			//mkdirs是创建多级目录,而mkdir是创建单级目录;
			writeFile.mkdirs();
		}
		FileReader fileReader  = null;
		FileWriter fileWrite  = null;
		try {
			//fileInputStream=new FileInputStream(file);
			//fileOutputStream = new FileOutputStream(new File(writeFile.getPath()+"\\writeFile.txt"));
			fileReader = new FileReader(file);
			int c=0;
			try {
				fileWrite = new FileWriter(writeFile.getPath()+"\\writeFile.txt");
				while ((c=fileReader.read())!=-1) {
					//输出到C:\\iodemo\\File\\test目录下的writeFile.txt文件中;
					fileWrite.write(c);
				}
				System.out.println("成功输出文件到:"+writeFile.getPath());
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
				try {
					//以下操作是:关闭输入流和输出流;
					if(fileReader!=null){
						fileReader.close();
					}
					if(fileWrite!=null){
						fileWrite.close();
					}
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		}
	}
	
}

 

 

 FileInputStream 类
1 ) FileInputStream 类介绍:
以字节为单位的流处理。字节序列:二进制数据。与编码无关,不存在乱码问题。
FileInputStream 类的主要方法有:
Read(), read(byte[] b), read (byte[],int off,int len) ,available();

2 ) FileInputStream 类与 FileReader 类的区别:

两个类的构造函数的形式和参数都是相同的,参数为 File 对象或者表示路径的 String ,它们到底有何区别呢?
FileInputStream :以字节流方式读取;
FileReader :把文件转换为字符流读入;
InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。
Reader类及其子类提供的字符流的读取char,inputStream及其子类提供字节流的读取byte,所以FileReader类是将文件按字符流的方式读取,FileInputStream则按字节流的方式读取文件;

分享到:
评论

相关推荐

    Java IO 工具类大全

    File类是Java IO中的基础类,它主要用于文件和目录的创建、删除、重命名以及属性查询等操作。例如,你可以使用`new File("path")`创建一个File对象,然后调用`exists()`检查文件是否存在,`mkdirs()`创建多级目录,`...

    java文件读写

    首先,Java提供了一系列的类来支持文件操作,如`java.io.File`用于文件和目录的操作,`java.io.FileReader`、`java.io.FileWriter`用于文本文件的读写,`java.io.BufferedReader`、`java.io.BufferedWriter`用于提高...

    创建新文件夹 读写方法

    在本文中,我们将深入探讨如何在Java中创建新文件夹以及进行读写操作,因为“创建新文件夹 读写方法”这个主题与`IO FILE`标签紧密相关。Java的`java.io`包提供了丰富的类和方法来处理输入/输出任务,包括对文件和...

    VIP09_JavaSE_JavaIO_File_day0307-1.rar

    8. **文件读写方式**:Java提供了多种读写文件的方式,如使用BufferedReader和PrintWriter进行文本文件的读写,DataInputStream和DataOutputStream处理原始字节数据,FileReader和FileWriter处理字符数据。...

    java基础 IO流

    java基础中的IO流是Java提供的一套用于文件读写操作的流式API,它包括字节流和字符流两种基本类型。字节流主要用在处理二进制数据,而字符流则是处理文本数据。 首先,文档中提到了`File`类,它是IO流操作中用于...

    IO 文件存储 学生管理系统

    在Java中,可以使用Thread类或Runnable接口来创建并运行多线程。比如,如果要同时读取多个学生的信息,可以为每个文件创建一个线程,这样可以并行处理,大大提高读取速度。但是,需要注意线程安全问题,避免在并发...

    完整的java文件读写工具类

    - 为了实现文件读写、创建和删除,可以定义静态方法,如`readFile(String filePath)`、`writeFile(String filePath, String content)`、`createFile(String filePath)`、`deleteFile(String filePath)`等。...

    javaIO流编程.pdf

    例如,在示例2中,我们看到了如何使用这些方法创建目录和文件,以及获取和检查文件的各种属性。在示例3中,展示了如何遍历指定目录下的所有文件,并打印出所有以".exe"结尾的文件名。 在Java I/O流编程中,还有许多...

    java对文件夹、文件、TXT的操作

    以上就是Java中对文件、文件夹和TXT文件的基本操作。在实际开发中,还需要考虑错误处理、权限管理等问题,以确保代码的健壮性和安全性。对于更复杂的需求,例如文件的异步处理、流式操作或高级文件系统操作,可能...

    文件操作(Java)

    在Java中,文件操作是一项基本且重要的功能,涵盖了文件与文件夹的创建、删除、读取、写入等操作。本文档将详细介绍如何利用Java进行文件及文件夹的基本操作。 #### 1. 创建文件夹 创建文件夹是文件系统管理中的...

    Java文件操作源码大全

    8. **读取和写入文件**:`FileReader`和`FileWriter`用于读写文本文件,`BufferedReader`和`BufferedWriter`提高效率,`FileInputStream`和`FileOutputStream`处理二进制文件。 9. **文件属性**:`File`类的`length...

    java文件操作大全[整理].pdf

    1. **创建文件夹**:在Java中,我们可以使用`java.io.File`类的`mkdir()`或`mkdirs()`方法创建单个文件夹或嵌套的多级文件夹。`mkdir()`只创建一级目录,而`mkdirs()`会创建路径中的所有缺失目录。 2. **创建文件**...

    Java_JDK6之IO详解

    - **字符流**:包括`Reader`和`Writer`作为基类,如`FileReader`和`FileWriter`分别用于读写文本文件。 Java IO还提供了缓冲流(Buffered Stream)来提高性能,以及转换流(InputStreamReader/OutputStreamWriter)...

    JAVA-12IO操作.pdf

    在Java中,文件操作主要涉及File类,以及字节流和字符流的使用。下面将详细讲解这些知识点。 1. **File类** - **创建文件**:使用`File`类的构造函数创建一个File对象,然后调用`createNewFile()`方法创建文件。...

    10-java进阶-IO流1

    Java中的IO流(Input/Output流)是用来处理输入和输出数据的一种机制,广泛应用于文件操作、网络通信等场景。在Java中,IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理单个字节的...

    java中File相关的类和IO流的知识

    Java中的File类是用于处理文件和目录的基本工具,它提供了许多方法来操作文件系统。File类是Java.io包的一部分,是进行输入/输出操作的基础。在这个主题中,我们将深入探讨File类以及与之相关的IO流。 首先,File类...

    【Java-代码-A02】(00) - 文件

    6. **文件流**:对于文件读写,Java提供了`FileInputStream`和`FileOutputStream`处理字节流,以及`FileReader`和`FileWriter`处理字符流。还有缓冲流如`BufferedInputStream`和`BufferedReader`可以提高读写性能。 ...

    Java文件操作大全.pdf

    本文档《Java文件操作大全》详细介绍了在Java中进行文件操作的方法和技术。这些方法覆盖了文件系统管理的各种基本需求,包括但不限于文件与目录的创建、删除、读写以及文件属性的获取等。下面将根据文档内容对各知识...

    Java基础之IO.docx

    Java中的IO(输入输出)是程序与外部世界交互的关键机制,包括从文件、网络、内存等数据源读取数据(输入)以及向这些位置写入数据(输出)。Java的IO系统基于流(Stream)的概念,数据如同水流一样从源头到目的地...

    java 模拟windows文件操作

    - **File类**: `java.io.File`是Java中最基础的文件操作类,可以用来表示文件或者目录路径。通过`new File(String path)`构造一个File对象,然后可以调用如`exists()`, `mkdir()`, `delete()`, `renameTo(File dest...

Global site tag (gtag.js) - Google Analytics