#IO流: ##低效O: ###FileWriter初始化操作 FileWriter(String Filename, boolean append) // 参数append 默认为false ###FileWriter对文件的写入操作 void write(String str);
void write(String str, int index, int len); void write(int ch); // 注意,这是写一个字符, 如:write(97),则写入的为'a',如果想写数字,推荐使用第一个,如write("97") void write(char[] chs); void write(char[] chs, int index, int len); ####Demo: FileWriter fw = new FileWriter("d:\a.txt"); fw.write("IO流Demo"); fw.write("换\r\n行"); fw.flush(); fw.close(); ##低效I: FileReader: FileReader(String filename) ###读取操作: int read() // 一次读取一个字符 以ASCII存储 想要看到字符 做类型转换 (char)read() // 当返回值为-1时,说明没有数据了 int read(char[] cbuf) // 一次读取一个字符数组,返回的是实际读取到的字符的个数 ####Demo1:

    //一次读取一个字符
    FileReader fr = new FileReader("d:\\a.txt");
    int ch;
    while((ch=fr.read())!=-1)
    {
        System.out.print((char)ch);

    }
    fr.close();

####Demo2:

//一次读取一个1024个字符
			FileReader fr - new FileReader("d:\\a.txt");
			char[] chs = new char[1024];
			int len;
			while((len = read(chs))!= -1 )
			{
				System.out.print(new String(chs, 0, len));
			}
			fr.close();

##高效O:

Demo:

			BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\bw.txt"));
			bw.write("高效O Demo");
			bw.write("换\r\n行");
			bw.flush();
			bw.close();
		特殊功能:
			void newLine() // 写一个换行符,具体是什么由系统决定, win(\r\n)   linux(\n)   mac(\r)

##高效I:

Demo:

			BufferedReader br = new BufferedReader(new FileReader("d:\\bw.txt"));
			char[] chs = new char[1024];
			int len;
			while((len=bw.read(chs))!=-1)
			{
				System.out..print(new String(chs,0,len));
			}
			bw.close();
		特殊功能:
			String readLine()  // 一次读取一行数据,但是不读取换行符。

###☆Demo:

			BufferedReader br = new BufferedReader(new FileReader("d:\\bw.txt"));
			String line;
			while((line = br.readLine()) != null)
			{
				System.out.println(line);
			}

			br.close;
//具有鲁棒性的文件写入
	public static void main(String[] args) {
		function("a.txt");
	}

	public static void function(String filename){
		FileWriter fw = null;
		try {
			//System.out.println(1/0);;
			fw = new FileWriter(filename);
			fw.write("hello world");
			fw.write("hello world");
			//fw.write(2/0);
			fw.write("hello world");
			fw.write("hello world");
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				if(fw!=null)
					fw.close();
			} catch (IOException e) {
				e.printStackTrace();
			}

		}

	}

使用字节流进行文件的复制(二进制文件的复制)

private static void method() throws FileNotFoundException, IOException {
	FileInputStream fis = new FileInputStream("这里是一个文件名");
	FileOutputStream fos = new FileOutputStream("另一个问件名");

	// 一次读一个字节
//		int by;
//		while((by = fis.read() ) !=-1){
//			fos.write(by);
//		}

	// 一次读取一个字符数组
	int len;
	byte[] bys = new byte[1024];
	while((len = fis.read(bys))!=1){
		fos.write(len);
	}

	fis.close();
	fos.close();
}
08-29 13:45