1. 程式人生 > 其它 >java IO String 每次讀取一行工具類

java IO String 每次讀取一行工具類

具體程式碼如下

package com.guohua.yunwei.util;

import org.springframework.core.io.ClassPathResource;

import java.io.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class IOUtil {

	public static List<String> readByLine(String path) throws IOException {
		return IOUtil.readByLine(new File(path));
	}

	public static List<String> readByLine(File file) throws IOException {
		List<String> list = new LinkedList<>();
		FileInputStream fis = null;
		InputStreamReader isr = null;
		BufferedReader br = null;
		try {
			String str = "";
			String str1 = "";
			fis = new FileInputStream(file);
			isr = new InputStreamReader(fis,"UTF-8");
			br = new BufferedReader(isr);
			while ((str = br.readLine()) != null) {
				list.add(str.trim());
			}
			System.out.println(str1);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			br.close();
			isr.close();
			fis.close();
		}
		return list;
	}

	public static List<String> readByLine(InputStream fis) throws IOException {
		List<String> list = new LinkedList<>();
		InputStreamReader isr = null;
		BufferedReader br = null;
		try {
			String str = "";
			String str1 = "";
			isr = new InputStreamReader(fis,"UTF-8");
			br = new BufferedReader(isr);
			while ((str = br.readLine()) != null) {
				list.add(str.trim());
			}
			System.out.println(str1);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			br.close();
			isr.close();
			fis.close();
		}
		return list;
	}


	/**
	 * 讀取專案內Resources資料夾下的檔案
	 * @param path
	 * @return
	 * @throws IOException
	 */
	public static String readByResources(String path) throws IOException {
		ClassPathResource classPathResource = new ClassPathResource(path);
		StringBuffer sb = new StringBuffer();
		InputStream is=null;
		InputStreamReader isr = null;
		BufferedReader br = null;
		try {
			String str = "";
			is = classPathResource.getInputStream();
			isr = new InputStreamReader(is);
			br = new BufferedReader(isr);
			while ((str = br.readLine()) != null) {
				sb.append(str);
				sb.append("\r\n");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			br.close();
			isr.close();
			is.close();
		}
		return sb.toString();
	}

	public static String writer(String path, String str) throws IOException {
		FileOutputStream fos = null;
		OutputStreamWriter osw = null;
		BufferedWriter bw = null;
		try {
			fos = new FileOutputStream(path,true);
			osw = new OutputStreamWriter(fos);
			bw = new BufferedWriter(osw);
			bw.write(str);
		} catch (Exception e) {
			e.printStackTrace();
			return path + "寫入失敗";
		} finally {
			bw.close();
			osw.close();
			fos.close();
		}
		return path + "寫入成功!";
	}

	public static String writer(String path, List<String> list) throws IOException {
		FileOutputStream fos = null;
		OutputStreamWriter osw = null;
		BufferedWriter bw = null;
		try {
			fos = new FileOutputStream(path);
			osw = new OutputStreamWriter(fos);
			bw = new BufferedWriter(osw);
			for (String str : list) {
				bw.write(str);
				bw.newLine();//換行
			}
			bw.flush();
		} catch (Exception e) {
			e.printStackTrace();
			return path + "寫入失敗";
		} finally {
			bw.close();
			osw.close();
			fos.close();
		}
		return path + "寫入成功!";
	}
}