`

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 FileReader/FileWriter读写文件

    java FileReader/FileWriter读写字母和数字没问题,但读写汉字乱码。记录下,后面找到解决方法再补上。 public static void main(String[] args) { FileReader fr = null; FileWriter fw = null; try { int a =...

    FileReader和FileWriter字符流的认识和使用

    FileReader和FileWriter进行复制。以及对每次读取的字符个数的理解

    Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理

    本文给大家分享一段示例程序,通过示例代码可以看出FileReader是基于InputStreamReader实现的,FileWriter是基于OutputStreamWriter实现的,具体程序代码大家通过本文了解下吧

    Java高级程序设计:第9章-IO.pptx

    import java.io.*; public class BufferedWriterDemo { public static void main(String[] args) throws IOException{ FileWriter fw = new FileWriter("D:/a.txt"); BufferedWriter bw = new BufferedWr

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...

    java io包课件

    了解java.io包 ...运用FileReader类和FileWriter类配合BufferedReader类和BufferedWriter类读/写字符文件 使用BufferedReader类从控制台接受输入 运用DataInputStream类和DataOutputStream类读写数据文件

    Java学生成绩管理系统源代码

    import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.StringReader; import java.util....

    java.io常用方法(基本)

    我自己写的一些关于IO中的见解,可以用来参考。 File的增、删、改、查,FileReader和FileWriter类,BufferedReader和BufferedWriter类,ObjectOutputStream和ObjectInputStream类

    Java IO学习文件处理

    import java.io.*; import java.util.*; public class FileFormatChange { /** * 1、创建输入(输出)流对象 * 2、读(写)数据 * 3、关闭输入输出流 */ public static void main(String[] args) { // ...

    java IO 编程实例

    import java.io.FileReader; public class TestFileReader { public static void main(String[] args) { int c = 0; FileReader freader = null; try { freader = new FileReader("d:/io/test.txt");//...

    java中的IO操作总结(一)

    java中的IO操作总结(一) 所谓IO,也就是Input与Output的缩写...其对应子类FileWriter和FileReader可实现文件的读写操作 BufferedWriter和BufferedReader能够提供缓冲区功能,用以提高效率 解压密码 www.jiangyea.com

    JavaIo流分析图

    分析Java常用IO流,包括InputStream、OutputStream、FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、FileReader、...

    Java文件读写操作函数实现

    /** * 一、BufferedReader类 public class BufferedReader extends Reader * 从字符输入流中读取文本,缓冲... * 三、FileWriter(少量文字) 和 BufferedWriter(大量文字)实现简单文件写操作 * @author hulk */

    java IO流学习笔记——(2)文件字符流&字节数组流

    java IO流学习笔记——(2)文件字符流&字节数组流 文件字符流FileReader&FileWriter FileReader :通过字符的方式读取文件,仅适合字符文件 FileWriter :通过字节的方式写出或追加数据到文件中,仅适合字符文件 部分...

    Java_IO(输入输出)

    Java_IO(输入输出) FileInputStream类、FileOutputStream类、FileReader类、FileWriter类、try{}catch(){}finally{}应用

    java编写文本编辑器

    import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; ...

    关于io的一些代码

    关于Java io的一些代码import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io...

    JavaIO流精讲上

    File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、FileInputStream、FileOutputStream、InputStreamReader、OutputStreamWriter、FileReader、...

    Java之IO流学习总结

    File类是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹。 File类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名,判断...

    流与文件 JAVA文件操作

    JAVA 流与文件操作,Aandb.java CopyFile.java,CreateFile.java DataFileTest.javae 等等

Global site tag (gtag.js) - Google Analytics