java读取本地txt文件

java读取本地txt文件内容

假设需要读取如下内容的文件,中间用\t(制表符)来分割

--ID 数据
15072	1	3	5	20	21	31	5
15073	1	2	17	22	26	27	4
15074	4	7	21	25	26	29	8
15075	6	11	13	19	21	32	4
15076	1	9	10	19	23	27	9
15077	1	6	8	10	13	27	16
15078	3	7	20	22	26	29	2
15079	9	14	15	20	26	32	11
15080	14	17	25	27	28	30	2
15081	13	20	22	26	28	31	13
15082	2	8	9	14	28	30	7
15083	6	7	16	18	29	32	5
15084	15	18	20	22	28	29	15
15085	2	8	25	27	28	29	5


--开头的自动忽略,返回一个每行为一个String[]的ArrayList集合

使用text.get(0)[0]来获取目标字段

package tool;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class ReadTextByFile {

	/** Java读取txt文件的内容,--开头的自动忽略,返回一个每行为一个String[]的ArrayList集合
	 * @param filePath 文件路径
	 * @param encoding 编码格式
	 * @return 每行为一个String[]的ArrayList集合
	 */
	public static ArrayList<String[]> readTxtFile(String filePath,String encoding) {
		ArrayList<String[]> res = new ArrayList<String[]>();
		try {
			File file = new File(filePath);
			if (file.isFile() && file.exists()) { // 判断文件是否存在
				InputStreamReader read = new InputStreamReader(
						new FileInputStream(file), encoding);// 编码格式必须和文件的一致
				BufferedReader bufferedReader = new BufferedReader(read);
				String lineTxt = null;
				while ((lineTxt = bufferedReader.readLine()) != null) {
					if (!lineTxt.startsWith("--")) {
						res.add(lineTxt.split("\t"));
					}
				}
				read.close();
			} else {
				System.out.println("指定的文件不存在");
			}
			
		} catch (Exception e) {
			System.out.println("读取文件内容出错");
			e.printStackTrace();
		}
		return res;
	}

	public static void main(String argv[]) {
		String filePath = "d:\\his.txt";
		ArrayList<String[]> text=new ArrayList<String[]>();
		text=readTxtFile(filePath,"utf-8");
		System.out.println(text.get(0)[0]);
	}
}


猜你喜欢

转载自blog.csdn.net/icemaker88/article/details/50695738
今日推荐