java 文件操作相关例子


java 文件操作相关例子


import java.io.BufferedReader;
import java.io.BufferedWriter;
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.InputStreamReader;
import java.io.OutputStreamWriter;

public class FileOperation {

	public static void main(String[] args) {
		// 新建目录
		File folderPath = new File("D:\\ReadFileTest\\FileOperation");
		try {
			if (!folderPath.exists()) {
				folderPath.mkdir(); // 新建目录
			}
		} catch (Exception e) {
			System.out.println("新建目录操作出错");
			e.printStackTrace();
		}

		// 新建文件
		File filePath = new File("D:\\ReadFileTest\\FileOperation\\FileOperation.txt");
		try {
			if (!filePath.exists()) {
				filePath.createNewFile(); // 新建文件
			}
		} catch (Exception e) {
			System.out.println("新建文件操作出错");
			e.printStackTrace();
		}

		// // 删除文件
		// File delFilePath = new
		// File("D:\\ReadFileTest\\FileOperation\\FileOperation.txt");
		// try {
		// delFilePath.delete();
		// } catch (Exception e) {
		// System.out.println("删除文件操作出错");
		// e.printStackTrace();
		// }

		// // 删除空文件夹(文件夹不为空不会进行删除)
		// File delFolderPath = new File("D:\\ReadFileTest\\FileOperation");
		// try {
		// delFolderPath.delete(); // 删除空文件夹
		// } catch (Exception e) {
		// System.out.println("删除文件夹操作出错");
		// e.printStackTrace();
		// }

		// // 删除一个文件夹下所有的文件(夹)
		// File delfile = new File("D:\\ReadFileTest\\FileOperation");
		// File[] files = delfile.listFiles();
		// System.out.println(files.length);
		// for (int i = 0; i < files.length; i++) {
		// if (!files[i].isDirectory()) {
		// files[i].delete();
		// }
		// }

		// FileWriter写文件(无缓冲直接写入)
		FileWriter fileWriter = null;
		try {
			fileWriter = new FileWriter(filePath);
			fileWriter.write("test2");
			fileWriter.close();
		} catch (IOException e) {
			System.out.println("写文件操作出错");
			e.printStackTrace();
		} finally {
			if (fileWriter != null) {
				try {
					fileWriter.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

		// FileReader读文件(不能一行行读,只能以一个或指定多个字符读取)
		FileReader fileReader = null;
		try {
			fileReader = new FileReader(filePath);
			char[] cbuf = new char[10];
			try {
				fileReader.read(cbuf);
			} catch (IOException e) {
				e.printStackTrace();
			}
			System.out.println("cbuf == " + cbuf[0]); // "t"
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			try {
				fileReader.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		// BufferedReader读文件(能一行行读,只能以一个或指定多个字符读取)(拥有8192字符的缓冲区)(以字符流的形式读取数据)
		try {
			fileReader = new FileReader(filePath);
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}
		BufferedReader bufferedReader = new BufferedReader(fileReader);
		String readerValue;

		try {
			while (true) {
				readerValue = bufferedReader.readLine();
				if (readerValue == null) {
					break;
				}
				System.out.println("readerValue == " + readerValue);
			}

		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				bufferedReader.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		// BufferedWriter读文件(不能一行行读,只能以一个或指定多个字符读取)(拥有8192字符的缓冲区)
		try {
			fileWriter = new FileWriter(filePath);
		} catch (IOException e) {
			e.printStackTrace();
		}

		BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
		try {
			bufferedWriter.write("hello world !");
			bufferedWriter.newLine();
			bufferedWriter.newLine();
			bufferedWriter.write("!hello world !");
			bufferedWriter.write("!hello world !");
			// 使用缓冲区中的方法,将数据刷新到目的地文件中去。
			bufferedWriter.flush();
			// 关闭缓冲区,同时关闭了fw流对象
			bufferedWriter.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

		// FileInputStream读文件(以字节流的形式读取数据)
		FileInputStream fileInputStream = null;
		try {
			fileInputStream = new FileInputStream(filePath);
			try {
				int readData = fileInputStream.read();
				System.out.println("readData == " + readData);
				byte[] b = new byte[2];
				fileInputStream.read(b);
				System.out.println("b == " + b[0]);
			} catch (IOException e) {
				e.printStackTrace();
			}

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			try {
				fileInputStream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		// FileOutputStream写文件(以字节流的形式写入数据)
		FileOutputStream fileOutputStream = null;
		try {
			fileOutputStream = new FileOutputStream(filePath);
			byte[] buf = new byte[] { 96, 0x77, 96 };
			try {
				fileOutputStream.write(buf);
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			try {
				fileOutputStream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		// InputStreamReader字节流向字符流的转换
		InputStreamReader inputStreamReader = null;
		try {
			fileInputStream = new FileInputStream(filePath);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		inputStreamReader = new InputStreamReader(fileInputStream);
		char[] charBuf = new char[10];
		try {
			inputStreamReader.read(charBuf);
			System.out.println("charBuf = " + charBuf[0]);
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				inputStreamReader.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		// OutputStreamWriter 字节流向字符流的转换
		OutputStreamWriter outputStreamWriter = null;
		try {
			fileOutputStream = new FileOutputStream(filePath);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}

		outputStreamWriter = new OutputStreamWriter(fileOutputStream);
		try {
			outputStreamWriter.write("OutputStreamWriter");
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				outputStreamWriter.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	}
}



参考原文: http://www.cnblogs.com/chen111/archive/2012/06/16/2551997.html
参考原文: http://uujava0322.iteye.com/blog/1045876
参考原文: http://blog.csdn.net/miyuki0424/article/details/307904
参考原文: http://xyiyy.iteye.com/blog/361476
参考原文: http://blog.csdn.net/liuhenghui5201/article/details/8279557
参考原文: http://blog.sina.com.cn/s/blog_70e5bf6e0101dwsd.html
参考原文: http://blog.csdn.net/liuhenghui5201/article/details/8292552

猜你喜欢

转载自huangyongxing310.iteye.com/blog/2329317