首页 > 代码库 > Java 读写TXT文件

Java 读写TXT文件

public class GenCategoryAttrItemHandler {

	private final static String INPUT_FILE_PATH = "input/category_attr_item.txt";
	private final static String OUTPUT_FLIE_PATH = "output/category_attr_itemList.txt";
	
	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		GetDataFromFile();
		WriteDataToFile();
		System.out.println("ok");
	}
	
	/**
	 * 从文件提取数据,格式化到程序中
	 * @throws IOException
	 */
	public static void GetDataFromFile() throws IOException {
		final String DELIMITER = "\t";
		
		BufferedReader br = null;
		try {
			File file = new File(INPUT_FILE_PATH);
			br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
			
			String line = null;
			while (null != (line=br.readLine())) {
				String[] strs = line.split(DELIMITER);
				Category category = new Category(Long.parseLong(strs[0]),strs[1]);
				Attribute attribute = new Attribute(Long.parseLong(strs[2]),strs[3]);
				Item item = new Item(Long.parseLong(strs[4]),strs[5]);
				...
			}// while
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (null != br) {
				br.close();
			}
		}
	}

	/**
	 * 将格式化的数据写入文件中
	 * @throws IOException 
	 */
	public static void WriteDataToFile() throws IOException {
		final String DELIMITER = "\t";
		
		BufferedWriter bw = null;
		try {
			File file = new File(OUTPUT_FLIE_PATH);
			bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));
			
			for (int i=1; i<12; ++i) {
                                ...
				bw.write(outValue);  // 将数据写入文件中
				bw.newLine();        // 新建一个换行符
				bw.flush();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (null != bw) {
				bw.close();
			}
		}
	}
}