zoukankan      html  css  js  c++  java
  • Java-->将txt文件的所有行反转

    --> 这里和上次代码不同,对同一文件进行操作,所以要用到一个第三方容器来存储数据

    package com.dragon.java.filereverseline;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /*
     * 将day19-笔记.txt中的所有行反转(第一行换到最后一行, 第二行换到倒数第二行)
     */
    public class Test {
        public static void main(String[] args) {
                    // 定义一个Map 存储行数的标号和每一行的数据
            Map<Integer, String> map = new HashMap<>();
                    // 定义一个List 存储行数的标号
            List<Integer> list = new ArrayList<>();
            BufferedReader br = null;
            BufferedWriter bw = null;
            String filePath = "D:/workspace/08-13/src/com/dragon/java/addtotxt/days01.txt";
            try {
                br = new BufferedReader(new FileReader(filePath));
                int index = 0;
                while (true) {
                    String lineString = br.readLine();
                    if (lineString == null) {
                        break;
                    } else {
                        index++;
                        list.add(index);
                        map.put(index, lineString);
                    }
                }
                            // 这里显示是否反转
                Collection<String> list1 = map.values();
                for (String string : list1) {
                    System.out.println(string);
                }
                            // 通过list 的标号和Map 的key 对应存储之前容器中的数据
                bw = new BufferedWriter(new FileWriter(filePath));
                for (int i = list.size(); i > 0; i--) {
                    System.out.println(i);
                    bw.write(map.get(i));
                    bw.newLine();
                }
            } catch (IOException e) {
                System.out.println(e);
            } finally {
                try {
                    br.close();
                    bw.close();
                } catch (IOException e) {
                    System.out.println(e);
                }
            }
    
        }
    }
  • 相关阅读:
    K&R C C90,C99的改进
    Windows 用来定位 DLL 的搜索路径
    常量字符串的问题
    C++0x中一些有用的新特性
    mainfest机制
    mainfest机制
    C++0x中一些有用的新特性
    c语言目标程序中的段
    c语言目标程序中的段
    数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
  • 原文地址:https://www.cnblogs.com/xmcx1995/p/5768518.html
Copyright © 2011-2022 走看看