⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 echo.java

📁 java ant的源码!非常值得看的源码
💻 JAVA
字号:
/* *  Licensed to the Apache Software Foundation (ASF) under one or more *  contributor license agreements.  See the NOTICE file distributed with *  this work for additional information regarding copyright ownership. *  The ASF licenses this file to You under the Apache License, Version 2.0 *  (the "License"); you may not use this file except in compliance with *  the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * *  Unless required by applicable law or agreed to in writing, software *  distributed under the License is distributed on an "AS IS" BASIS, *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *  See the License for the specific language governing permissions and *  limitations under the License. * */package org.apache.tools.ant.taskdefs;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.Writer;import java.io.BufferedWriter;import java.io.OutputStreamWriter;import java.io.FileOutputStream;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.Project;import org.apache.tools.ant.Task;import org.apache.tools.ant.util.FileUtils;import org.apache.tools.ant.types.LogLevel;/** * Writes a message to the Ant logging facilities. * * @since Ant 1.1 * * @ant.task category="utility" */public class Echo extends Task {    // CheckStyle:VisibilityModifier OFF - bc    protected String message = "";    protected File file = null;    protected boolean append = false;    /** encoding; set to null or empty means 'default' */    private String encoding = "";    // by default, messages are always displayed    protected int logLevel = Project.MSG_WARN;    // CheckStyle:VisibilityModifier ON    /**     * Does the work.     *     * @exception BuildException if something goes wrong with the build     */    public void execute() throws BuildException {        if (file == null) {            log(message, logLevel);        } else {            Writer out = null;            try {                String filename = file.getAbsolutePath();                if (encoding == null || encoding.length() == 0) {                    out = new FileWriter(filename, append);                } else {                    out = new BufferedWriter(                            new OutputStreamWriter(                                new FileOutputStream(filename, append), encoding));                }                out.write(message, 0, message.length());            } catch (IOException ioe) {                throw new BuildException(ioe, getLocation());            } finally {                FileUtils.close(out);            }        }    }    /**     * Message to write.     *     * @param msg Sets the value for the message variable.     */    public void setMessage(String msg) {        this.message = msg;    }    /**     * File to write to.     * @param file the file to write to, if not set, echo to     *             standard output     */    public void setFile(File file) {        this.file = file;    }    /**     * If true, append to existing file.     * @param append if true, append to existing file, default     *               is false.     */    public void setAppend(boolean append) {        this.append = append;    }    /**     * Set a multiline message.     * @param msg the CDATA text to append to the output text     */    public void addText(String msg) {        message += getProject().replaceProperties(msg);    }    /**     * Set the logging level. Level should be one of     * <ul>     *  <li>error</li>     *  <li>warning</li>     *  <li>info</li>     *  <li>verbose</li>     *  <li>debug</li>     * </ul>     * <p>The default is &quot;warning&quot; to ensure that messages are     * displayed by default when using the -quiet command line option.</p>     * @param echoLevel the logging level     */    public void setLevel(EchoLevel echoLevel) {        logLevel = echoLevel.getLevel();    }    /**     * Declare the encoding to use when outputting to a file;     * Use "" for the platform's default encoding.     * @param encoding the character encoding to use.     * @since 1.7     */    public void setEncoding(String encoding) {        this.encoding = encoding;    }    /**     * The enumerated values for the level attribute.     */    public static class EchoLevel extends LogLevel {    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -