Java中读取一个TXT文件中的每行内容的前5个字符,并保存到另一个TXT文件中。
2016-03-15 12:28
816 查看
曾经的一道面试题:读取一个文件“员工信息.txt”, 取每行内容的前5个字符,存储到“员工姓名.txt”文件中。
方法一:
方法二:
方法一:
package test01; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.util.ArrayList; import java.util.List; public class FileTest { private List<String> list = new ArrayList<String>(); private String temp; public static void main(String[] args) { FileTest fileTest = new FileTest(); fileTest.readFile("E:/work/a.txt"); fileTest.printFile("E:/work/b.txt"); System.out.println(fileTest.list); } public void readFile(String fileName) { try { FileReader fileReader = new FileReader(new File(fileName)); BufferedReader bufferedReader = new BufferedReader(fileReader); while ((temp = bufferedReader.readLine()) != null) { list.add(temp); } bufferedReader.close(); fileReader.close(); } catch (Exception e) { e.printStackTrace(); } } public void printFile(String fileName) { try { FileWriter fileWriter = new FileWriter(new File(fileName)); BufferedWriter bufWriter = new BufferedWriter(fileWriter); for (int i = 0; i < list.size(); i++) { bufWriter.write(list.get(i), 0, 5);//读取前5个字符 bufWriter.newLine(); } bufWriter.close(); fileWriter.close(); } catch (Exception e) { e.printStackTrace(); } } }
方法二:
package test01; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.util.ArrayList; import java.util.List; public class ReadFile03 { public static void main(String[] args) { List<String> list = new ArrayList<>(); String s = null; File f1 = new File("E:/work/员工 9a7f 信息.txt");//员工信息中要有员工数据 File f2 = new File("E:/work/员工姓名.txt"); try { // 读取“员工信息.txt”文件 FileReader fileReader = new FileReader(f1); BufferedReader bufferedReader = new BufferedReader(fileReader); while ((s = bufferedReader.readLine()) != null) { list.add(s); } System.out.println(list);// 打印list中读到的数据 // 写入“员工姓名.txt”文件 FileWriter fileWriter = new FileWriter(f2); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); for (int i = 0; i < list.size(); i++) { bufferedWriter.write(list.get(i), 0, 5);// 截取前5个字符 bufferedWriter.newLine(); } // 关闭流 bufferedReader.close(); fileReader.close(); bufferedWriter.close(); fileWriter.close(); } catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- Java设计模式—生产者消费者模式(阻塞队列实现)
- java数据库查询显示结果显示在JTable
- java编程思想学习day1
- Java注解
- java 同步机制
- 整合struts2+hibernate详细配置步骤及注意事项
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
- JAVA温习(2)
- spring,hibernate,struts的面试笔试题
- java基本规则
- Java总结篇系列:类型转换/造型
- java实现动态上传多个文件并解决文件重名问题
- java中的冒泡排序
- Java设计模式理论知识要点总结
- JAVA识别身份证号码,H5识别身份证号码,tesseract-ocr识别(二)
- java 利用Jframe实现查找鼠标点击的位置坐标
- JAVA集合类
- 对java中面向对象思想的理解
- 理解Java垃圾回收机制
- MyEclipse使用经验总结