zoukankan      html  css  js  c++  java
  • 按照指定字符串截取文本

    //按照指定字符串截取文本
    public static void main(String[] args) {
    File file = new File("D:\sql\1\ALL_VIEWS.sql");

    String[] ss = readTxt(file);

    if (ss == null || ss.length == 0) {
    System.out.println("读取txt内容发生错误,txt内容可能为空.");
    return;
    }
    List a = new ArrayList();//获取开始位置
    List b = new ArrayList();//获取第二个的位置,并作为第一个的结束位置

    for (int i = 0; i < ss.length; i++) {
    if (ss[i].contains("--")) {//便利指定字符串
    a.add(i);
    if (i != 0) {
    b.add(i);

    }
    }
    }


    for (int j = 0; j < b.size(); j++) {
    String filename = String.valueOf(ss[Integer.valueOf(String.valueOf(a.get(j)))]).replaceAll("-- edw_stg.", "");
    file = new File("D:\sql\2\" + filename + ".sql");
    writeTxt(file, ss, Integer.valueOf(String.valueOf(a.get(j))), Integer.valueOf(String.valueOf(b.get(j))));
    }
    }


    /**
    * 写出数组内容从start位置开始共写出length个 到txt文件
    *
    * @param file 待写出的txt文件的File形式
    * @param ss 数组对象
    * @param start 开始位置
    * @param length 写出长度
    * @return 成功返回true 发生错误返回false
    */
    private static boolean writeTxt(File file, String[] ss, int start, int length) {
    FileWriter fWriter;
    try {
    fWriter = new FileWriter(file, false);
    } catch (IOException e) {
    e.printStackTrace();
    return false;
    }

    try {
    for (int q = start; q < length; q++) {
    fWriter.write(ss[q] + " ");
    }


    } catch (IOException e) {
    e.printStackTrace();
    if (!closeFileWriter(fWriter)) {
    fWriter = null;
    }
    return false;
    }

    if (!closeFileWriter(fWriter)) {
    fWriter = null;
    }

    return true;

    }

    /**
    * 关闭文件流
    *
    * @param fWriter
    * @return 成功关闭返回true, 发生错误返回false
    */
    private static boolean closeFileWriter(FileWriter fWriter) {
    if (fWriter == null) {
    return false;
    }
    try {
    fWriter.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    return true;
    }

    /**
    * 读取txt文件内容,返回该文本内容的String[]形式
    *
    * @param file txt文件的File形式
    * @return 该文本内容的String[]形式 若读取发生错误 则返回null
    */
    private static String[] readTxt(File file) {
    Scanner scanner;
    try {
    scanner = new Scanner(file);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    return null;
    }

    String string = "";

    /**
    * 读取到的每一行用,分割
    */
    while (scanner.hasNext()) {
    string += scanner.nextLine() + ",";
    }

    scanner.close();

    return string.split(",");
    }


    感谢
    gdmmd
    参考资料
    https://zhidao.baidu.com/question/983767169515038339.html

  • 相关阅读:
    [轉]javascript 的 location 各種用法
    [轉]PHP命名空间规则解析及高级功能
    [轉]虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器
    [轉]深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数
    [連接]JavaScript中链式调用之研习
    [轉]安装SQL SERVER 2008时,提示:服务SQLBrowser启动请求失败
    AS支除兩邊的空格
    [轉]详解UML六大关系(依赖、类属(继承)、关联、实现、聚合和组合)
    [轉]jQuery UI 关闭父窗口打开的Dialog
    [轉]让PHP支持像jQuery那样的链式操作
  • 原文地址:https://www.cnblogs.com/cjb1/p/14525116.html
Copyright © 2011-2022 走看看