今天看maven项目的时候看了几个列子
1、主要是我一直对io方面的api也不是太熟悉,现在就写点一便下次记得
//main文件
import java.io.InputStream;
import org.apache.log4j.PropertyConfigurator;
public class Main {
public static void main(String[] args) throws Exception {
// Configure Log4J 取log4j的属性文件的时候,可以直接这么取
PropertyConfigurator.configure(Main.class.getClassLoader()
.getResource("log4j.properties"));
// Read the Zip Code from the Command-line (if none supplied, use 60202)
int zipcode = 60202;
try {
zipcode = Integer.parseInt(args[0]);
} catch( Exception e ) {}
........
}}
//2、通过url取的响应的输入流
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import org.apache.log4j.Logger;
public class YahooRetriever {
private static Logger log = Logger.getLogger(YahooRetriever.class);
public InputStream retrieve(int zipcode) throws Exception {
log.info( "Retrieving Weather Data" ); //通过url取的响应的输入流
String url = "http://weather.yahooapis.com/forecastrss?p=" + zipcode;
URLConnection conn = new URL(url).openConnection();
return conn.getInputStream();
}
}
//将输入流转为java实例
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentFactory;
import org.dom4j.io.SAXReader;
public class YahooParser {
private static Logger log = Logger.getLogger(YahooParser.class);
public Weather parse(InputStream inputStream) throws Exception {
Weather weather = new Weather();
log.info( "Creating XML Reader" );
SAXReader xmlReader = createXmlReader(); //通过xmlreader来读取输入
Document doc = xmlReader.read( inputStream );
log.info( "Parsing XML Response" );
weather.setCity( doc.valueOf("/rss/channel/y:location/@city") );
weather.setRegion( doc.valueOf("/rss/channel/y:location/@region") );
weather.setCountry( doc.valueOf("/rss/channel/y:location/@country") );
weather.setCondition( doc.valueOf("/rss/channel/item/y:condition/@text") );
weather.setTemp( doc.valueOf("/rss/channel/item/y:condition/@temp") );
weather.setChill( doc.valueOf("/rss/channel/y:wind/@chill") );
weather.setHumidity( doc.valueOf("/rss/channel/y:atmosphere/@humidity") );
return weather;
}
private SAXReader createXmlReader() {
Map<String,String> uris = new HashMap<String,String>();
uris.put( "y", "http://xml.weather.yahoo.com/ns/rss/1.0" );
DocumentFactory factory = new DocumentFactory();
factory.setXPathNamespaceURIs( uris );
SAXReader xmlReader = new SAXReader();
xmlReader.setDocumentFactory( factory );
return xmlReader;
}
}
//将读取的数据写入响应的文件中
import org.apache.log4j.Logger;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
public class WeatherFormatter {
private static Logger log = Logger.getLogger(WeatherFormatter.class);
public String format( Weather weather ) throws Exception {
log.info( "Formatting Weather Data" );
Reader reader =
new InputStreamReader( getClass().getClassLoader()
.getResourceAsStream("output.vm"));
//得到一个展示层
VelocityContext context = new VelocityContext();
context.put("weather", weather );
StringWriter writer = new StringWriter();
Velocity.evaluate(context, writer, "", reader);
//通过此模板将数据输入
return writer.toString();
最后maven中用。在项目的基
础目录下运行以下命令,以运行该程序的 Main 类。
$ mvn install
$ mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main
分享到:
相关推荐
java IO教程,java IO教程,java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程,java IO教程,java IO教程,java IO...
Java教程之javaIO详解Java教程之javaIO详解Java教程之javaIO详解
java IO
2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。
java io 结构图java io 结构图
1、Java IO_NIO 2、Java+IO.pdf
JAVA课件Java IO.ppt详细了解JAVA
java IO操作详细解释 清华大学java io专用教材
Java IO流详解
java零基础自学 之 JavaIO流处理java零基础自学 之 JavaIO流处理
java IO(下)
java io 文件读写
个人给应届生培训用的讲义,主要是以Java IO为主题,包括IO的基本概念、IO模型、Java BIO ,NIO, NIO2。分享下
适合初学者练手.在了解 javaIO理论知识的基础上进一步巩固和深入了解
java IO流学习笔记
java io.pdf java io.pdf
java io处理 方法java io处理 方法
IO 简介,只看这篇,IO全部搞定,对于初学者来说,不可多得
Java io流的总结
收集了Java IO 文件读写等操作的实例