java中对txt和excel的读取和写入

txt工具类:

package com.rj.bd.xm;

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.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;

/**
 * @desc txt工具类
 * @author ws
 * @time 2018-10-17
 */
public class TxtTools {
	private File file;// 文件
	private int MAX = 100000;// 数据条数
	private String codeFormat ="UTF-8";//编码格式

	/**
	 * @desc 判断文件是否存在,不存在创建文件
	 */
	public boolean judge(File file){
		String pathname = file.getPath();
		if (file.isFile() && file.exists()) {
			System.out.println("文件存在!");
			return true;
		} else {
			try {
				if (file.isDirectory()) {
					System.out.println("文件夹存在!");
					file.createNewFile();// 创建文件
					System.out.println("文件创建成功!");
					return true;
				} else {
					System.out.println("文件夹不存在!");
					String newPathname = "";
					String[] arr = pathname.split("/");
					for (int i = 0; i < arr.length - 1; i++) {
						newPathname += arr[i] + "/";
					}
					File dir = new File(newPathname);
					dir.mkdirs();// 创建文件夹
					System.out.println("文件夹创建成功!");
					file.createNewFile();// 创建文件
					System.out.println("文件创建成功!");
					return true;
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return false;
	}

	public File getFile() {
		return file;
	}

	public void setFile(File file) {
		judge(file);
		this.file = file;
	}
	

	public String getCodeFormat() {
		return codeFormat;
	}

	public void setCodeFormat(String codeFormat) {
		this.codeFormat = codeFormat;
	}

	/**
	 * @desc 默认10万条数据
	 * @param file
	 */
	public TxtTools(File file) {
		super();
		judge(file);
		this.file = file;
	}

	/**
	 * @desc 上传文件并调整数据条数
	 * @param file
	 * @param max
	 */
	public TxtTools(File file, int max) {
		super();
		judge(file);
		this.file = file;
		MAX = max;
	}

	/**
	 * @desc 读取txt文件
	 * @param file
	 */
	public void readTxt(File file) {
		try {

			FileInputStream inputStream = new FileInputStream(file);// 将file转为流
			InputStreamReader inputStreamReader = new InputStreamReader(
					inputStream, codeFormat);// 将当前流进行编码设置
			BufferedReader bufferedReader = new BufferedReader(
					inputStreamReader);// 将携带有数据格式的流,装入到缓冲区内
			String everyLine = "";
			while ((everyLine = bufferedReader.readLine()) != null) {
				System.out.println(everyLine);
			}
			bufferedReader.close();
			inputStreamReader.close();
			inputStream.close();
			System.out.println("------读取完毕------");

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStack
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JXL是Java Excel API的缩写,可以处理Excel文件的读取写入。以下是使用JXL进行Excel文件读取写入的示例代码: 1. 读取Excel文件: ```java import java.io.File; import java.util.ArrayList; import java.util.List; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; public class ExcelReader { public static void main(String[] args) { try { File file = new File("test.xls"); Workbook workbook = Workbook.getWorkbook(file); Sheet sheet = workbook.getSheet(0); int rowCount = sheet.getRows(); List<String[]> list = new ArrayList<String[]>(); for (int i = 0; i < rowCount; i++) { Cell[] cells = sheet.getRow(i); String[] row = new String[cells.length]; for (int j = 0; j < cells.length; j++) { row[j] = cells[j].getContents(); } list.add(row); } for (String[] row : list) { for (String cell : row) { System.out.print(cell + "\t"); } System.out.println(); } workbook.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 2. 写入Excel文件: ```java import java.io.File; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class ExcelWriter { public static void main(String[] args) { try { File file = new File("test.xls"); WritableWorkbook workbook = Workbook.createWorkbook(file); WritableSheet sheet = workbook.createSheet("Sheet1", 0); List<String[]> list = new ArrayList<String[]>(); list.add(new String[] {"Name", "Age", "Gender"}); list.add(new String[] {"Tom", "20", "Male"}); list.add(new String[] {"Lucy", "18", "Female"}); for (int i = 0; i < list.size(); i++) { String[] row = list.get(i); for (int j = 0; j < row.length; j++) { Label label = new Label(j, i, row[j]); sheet.addCell(label); } } workbook.write(); workbook.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 以上代码演示了如何使用JXL处理Excel文件的读取写入,通过这些示例代码,你可以根据自己的需要进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值