\(^_^)/ Java操作文件

1.读取文件

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.RandomAccessFile;
import java.io.Reader;

public class ReadFile {
	public static void readByBufferedInputStream(String fileName) throws Exception {
		File file = new File(fileName);
		InputStream is = new FileInputStream(file);
		BufferedInputStream bis = new BufferedInputStream(is);
		int length = bis.available();
		byte[] buffer = new byte[length];
		bis.read(buffer, 0, length);
		bis.close();
		is.close();
		System.out.println(new String(buffer));
	}

	public static void readByBufferedReader(String fileName) throws Exception {
		File file = new File(fileName);
		BufferedReader br = new BufferedReader(new FileReader(file));
		String line = null;
		while ((line = br.readLine()) != null) {
			System.out.println(line);
		}
		br.close();
	}

	public static void readByDataInputStream(String fileName) throws Exception {
		File file = new File(fileName);
		DataInputStream dis = new DataInputStream(new FileInputStream(file));
		int temp;
		while ((temp = dis.read()) != -1) {
			System.out.println((char) temp);
		}
	}

	public static void readByFileInputStream(String fileName) throws Exception {
		File file = new File(fileName);
		InputStream is = new FileInputStream(file);
		int temp;
		while ((temp = is.read()) != -1) {
			System.out.println((char) temp);
		}
		is.close();
	}

	public static void readByFileInputStream_Buffer(String fileName) throws Exception {
		File file = new File(fileName);
		InputStream is = new FileInputStream(file);
		int temp;
		byte[] buffer = new byte[1024];
		while ((temp = is.read(buffer, 0, buffer.length)) != -1) {
			System.out.write(buffer, 0, temp);
		}
		is.close();
	}

	public static void readByFileReader(String fileName) throws Exception {
		File file = new File(fileName);
		Reader reader = new FileReader(file);
		int temp;
		while ((temp = reader.read()) != -1) {
			System.out.println((char) temp);
		}
		reader.close();
	}

	public static void readByFileReader_Buffer(String fileName) throws Exception {
		File file = new File(fileName);
		Reader reader = new FileReader(file);
		int temp;
		char[] buffer = new char[1024];
		while ((temp = reader.read(buffer, 0, buffer.length)) != -1) {
			if ((buffer.length == 0) && (buffer[buffer.length - 1] != '\r')) {
				System.out.print(buffer);
			} else {
				for (int i = 0; i < temp; i++) {
					if (buffer[i] == '\r') {
						continue;
					} else {
						System.out.print(buffer[i]);
					}
				}
			}
		}
		reader.close();
	}

	public static void readByInputStreamReader(String fileName) throws Exception {
		File file = new File(fileName);
		Reader reader = new InputStreamReader(new FileInputStream(file));
		int temp;
		while ((temp = reader.read()) != -1) {
			System.out.println((char) temp);
		}
		reader.close();
	}

	public static void readByInputStreamReader_Buffer(String fileName) throws Exception {
		File file = new File(fileName);
		Reader reader = new InputStreamReader(new FileInputStream(file));
		int temp = 0;
		char[] buffer = new char[1024];
		while ((temp = reader.read(buffer)) != -1) {
			if ((buffer.length == 0) && (buffer[buffer.length - 1] != '\r')) {
				System.out.print(buffer);
			} else {
				for (int i = 0; i < temp; i++) {
					if (buffer[i] == '\r') {
						continue;
					} else {
						System.out.print(buffer[i]);
					}
				}
			}
		}
		reader.close();
	}

	public static void readByLineNumberReader(String fileName) throws Exception {
		File file = new File(fileName);
		Reader reader = new FileReader(file);
		LineNumberReader lnr = new LineNumberReader(reader);
		String line = null;
		while ((line = lnr.readLine()) != null) {
			System.out.println(lnr.getLineNumber() + " " + line);
		}
	}

	public static void readByRandomAccessFile(String fileName) throws Exception {
		File file = new File(fileName);
		RandomAccessFile raf = new RandomAccessFile(file, "rw");
		long fileLen = raf.length();
		int begin = (fileLen > 4) ? 4 : 0;
		raf.seek(begin);
		byte[] buffer = new byte[1024];
		int temp = 0;
		while ((temp = raf.read(buffer)) != -1) {
			System.out.write(buffer, 0, temp);
		}
	}
}

 

 

2.写入文件

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

public class WriteFile {

	public static void wirteByPrintWriter(String fileName, String content) throws Exception {
		File file = new File(fileName);
		PrintWriter pw = new PrintWriter(file);
		pw.write(content, 0, content.length());
		pw.flush();
		pw.close();
	}

	public static void writeByBufferedWriter(String fileName, String content) throws Exception {
		File file = new File(fileName);
		FileWriter fw = new FileWriter(file);
		BufferedWriter bw = new BufferedWriter(fw);
		bw.write(content);
		bw.newLine();
		bw.close();
		fw.close();
	}

	public static void writeByFileWriter(String fileName, String content) throws Exception {
		FileWriter fw = new FileWriter(new File(fileName));
		fw.write(content, 0, content.length());
		fw.flush();
		fw.close();
	}

	public static void writeByOutputStreamWriter(String fileName, String content) throws Exception {
		File file = new File(fileName);
		FileOutputStream fos = new FileOutputStream(file);
		OutputStreamWriter osw = new OutputStreamWriter(fos);
		osw.write(content, 0, content.length());
		osw.flush();
		osw.close();
		fos.close();
	}
}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值