C#和java和android中的NetWorkAdapter,httpRequest,WebView,json,xml
原文地址:http://blog.csdn.net/intbird
C#NetWorkAdapter 20121011.=============================================================
/// <summary>
/// 显示网卡信息
/// </summary>
private void ShowAdapterInfo()
{
//获取主机上全部的网络适配器对象
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
AppendRtbText(string.Format("网适配器个数:{0}", adapters.Length));
for (int i = 0; i < adapters.Length; i++)
{
AppendRtbText(string.Format("-----------------------------第{0}个网络适配器信息----------------------------- ", i + 1));
AppendRtbText(string.Format("描写叙述信息:{0}", adapters[i].Description));
AppendRtbText(string.Format("名称:{0}", adapters[i].Name));
AppendRtbText(string.Format("类型:{0}", adapters[i].NetworkInterfaceType));
AppendRtbText(string.Format("速度:{0}M", adapters[i].Speed / 1000 / 1000));
AppendRtbText(string.Format("MAC地址:{0}", BitConverter.ToString(adapters[i].GetPhysicalAddress().GetAddressBytes())));
//获取该网络适配器的配置对象
IPInterfaceProperties adapterProperties = adapters[i].GetIPProperties();
//获取并显示该网络适配器DNSserverIP地址信息
IPAddressCollection dnsServers = adapterProperties.DnsAddresses;
if (dnsServers.Count > 0)
{
foreach (IPAddress dns in dnsServers)
{
AppendRtbText(string.Format("DNSserverIP地址:{0}", dns));
}
}
else
{
AppendRtbText("DNSserverIP地址: \n");
}
AppendRtbText("\n");
}
}
/// <summary>
/// 向富文本框添追加文本
/// </summary>
/// <param name="rtb"></param>
/// <param name="text"></param>
public void AppendRtbText(string text)
{
this.rtb_AdappterInfo.AppendText(text + "\n");
}
}
java========================================
package com.xudeyu.tcpip;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
/**
* Tcp ip connection test
*
* @author intbird@163.com time 2013-04-11
*
*/
public class NetWorkInterfaceTest
{
/**
* @param args
*/
public static void main(String[] args)
{
try
{
Enumeration<NetworkInterface> interfaceList = NetworkInterface
.getNetworkInterfaces();
if (interfaceList == null) System.out.print("No interface found");
else
{
while (interfaceList.hasMoreElements())
{
NetworkInterface netFace = interfaceList.nextElement();
System.out.println("Interface: " + netFace.getName());
System.out.println("description"+netFace.getDisplayName());
Enumeration<InetAddress> addressList = netFace
.getInetAddresses();
if (!addressList.hasMoreElements()) System.out
.println("no address for this interface!");
while (addressList.hasMoreElements())
{
InetAddress address = addressList.nextElement();
System.out.println("address:"
+ address.getHostAddress());
}
}
}
}
catch (SocketException e)
{
// TODO 自己主动生成的 catch 块
e.printStackTrace();
}
}
}
C#====================httpRequest
HttpRequest 和 httpResponse,asp.net中的也差不错
java===================httpRequest
package com.xudeyu.url;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class URLConnectionTest
{
public void main(String[] args)
{
try
{
String urlName;
if (args.length > 0) urlName = args[0];
else urlName = "http://localhost";
URL url = new URL(urlName);
URLConnection connection = url.openConnection();
if (args.length > 2)
{
String username = args[0];
String password = args[1];
String input = username + " :" + password;
String encoding = base64Ecode(input);
connection.setRequestProperty("aAUthotization", "Basic"
+ encoding);
}
connection.connect();
Map<String, List<String>> headers = connection.getHeaderFields();
for (Entry<String, List<String>> entry : headers.entrySet())
{
String key = entry.getKey();
for (String value : entry.getValue())
{
System.out.print(key + " " + value);
}
}
System.out.print("getContentType" + connection.getContentType());
Scanner in = new Scanner(connection.getInputStream());
for (int n = 1; in.hasNext() && n <= 10; n++)
{
System.out.print(in.nextLine());
}
}
catch (Exception e)
{
}
}
private String base64Ecode(String input)
{
// TODO 自己主动生成的方法存根
return null;
}
}
C#webView
java webView看书上第七章,类似
java和C#的json不用多说
java xml
package com.xudeyu.xml;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTree;
import javax.swing.SwingWorker;
import javax.swing.event.TreeModelListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.CharacterData;
import org.w3c.dom.*;
public class DOMTreeTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
DOMTreeFrame frame=new DOMTreeFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class DOMTreeFrame extends JFrame {
private DocumentBuilder builder;
public DOMTreeFrame() {
setTitle("DOMTree");
setSize(500, 400);
setLocationByPlatform(true);
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("File");
//打开文件
JMenuItem open=new JMenuItem("Open");
open.addActionListener(new ActionListener ()
{
@Override
public void actionPerformed(ActionEvent e) {
openFile();
}
});
//关闭窗口
JMenuItem exit=new JMenuItem("Exit");
exit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
//加入菜单
menu.add(open);
menu.add(exit);
menuBar.add(menu);
setJMenuBar(menuBar);
}
/**
* 选择一个xml文件
*/
public void openFile()
{
JFileChooser fileChooser=new JFileChooser();
fileChooser.setCurrentDirectory(new File("."));
fileChooser.setFileFilter(new javax.swing.filechooser.FileFilter()
{
@Override
public boolean accept(File pathname)
{
return pathname.isDirectory()||pathname.getName().toLowerCase().endsWith(".xml");
}
@Override
public String getDescription()
{
return "chooser a xml file";
}
});
int r=fileChooser.showOpenDialog(this);
if(r!=JFileChooser.APPROVE_OPTION)
{
return ;
}
final File file=fileChooser.getSelectedFile();
new SwingWorker<Document,Void>()
{
@Override
protected Document doInBackground() throws Exception {
if(builder==null)
{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
builder=factory.newDocumentBuilder();
}
return builder.parse(file);
}
protected void done()
{
try
{
Document doc =get();
JTree tree =new JTree(new DOMTreeModel(doc));
tree.setCellRenderer(new DOMTreeRenderer());
setContentPane(new JScrollPane(tree));
validate();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
}.execute();
}
}
class DOMTreeModel implements TreeModel
{
private Document doc;
public DOMTreeModel (Document doc)
{
this.doc=doc;
}
@Override
public Object getRoot() {
return doc.getDocumentElement();
}
@Override
public Object getChild(Object parent, int index) {
Node node=(Node)parent;
NodeList list=node.getChildNodes();
return list.item(index);
}
@Override
public int getChildCount(Object parent) {
Node node=(Node)parent;
NodeList list=node.getChildNodes();
return list.getLength();
}
@Override
public boolean isLeaf(Object node) {
return getChildCount(node)==0;
}
@Override
public void valueForPathChanged(TreePath path, Object newValue) {
}
@Override
public int getIndexOfChild(Object parent, Object child) {
Node node=(Node)parent;
NodeList list=node.getChildNodes();
for(int i=0;i<list.getLength();i++)
{
if(getChild(node, i)==(child))
return i;
}
return -1;
}
@Override
public void addTreeModelListener(TreeModelListener l) {
}
@Override
public void removeTreeModelListener(TreeModelListener l) {
}
}
class DOMTreeRenderer extends DefaultTreeCellRenderer
{
public Component getTreeCellTendererComponnte(JTree tree
,Object value
,boolean selected
,boolean expanded
,boolean leaf
,int row
,boolean hasFocus)
{
Node node=(Node)value;
if( node instanceof Element )
return elementPanel((Element)node);
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
if(node instanceof CharacterData)
setText(charaterString(((CharacterData)node)));
else
setText(node.getClass()+": "+node.toString());
return this;
}
public static JPanel elementPanel(Element e)
{
JPanel panel=new JPanel();
panel.add(new Label("Element: "+e.getTagName()));
final NamedNodeMap map=e.getAttributes();
panel.add(new JTable(new AbstractTableModel()
{
@Override
public int getRowCount() {
return map.getLength() ;
}
@Override
public int getColumnCount() {
return 2;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return columnIndex==0?map.item(rowIndex).getNodeName():map.item(rowIndex).getNodeValue();
}
}));
return panel;
}
public static String charaterString(CharacterData node)
{
StringBuilder builder=new StringBuilder(node.getData());
for(int i=0;i<builder.length();i++)
{
if(builder.charAt(i)=='\r')
{
builder.replace(i, i+1, "\\r");
i++;
}
else if(builder.charAt(i)=='\n')
{
builder.replace(i, i+1, "\\n");
i++;
}
else if(builder.charAt(i)=='\t')
{
builder.replace(i, i+1, "\\t");
i++;
}
}
if(node instanceof CDATASection)
builder.insert(0, "CDTASetion: ");
else if(node instanceof Text)
builder.insert(0, "Text: ");
else if(node instanceof Comment)
builder.insert(0, "Comment: ");
return builder.toString();
}
}
android===============================
Gson;
C#和java和android中的NetWorkAdapter,httpRequest,WebView,json,xml的更多相关文章
- JAVA、android中常用的一些jar包的作用
正文: 这里主要介绍的是hibernate使用到的.jar Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进 ...
- Android中的应用——谷歌官方Json分析工具Gson使用
一个.Gson基本介绍 Gson(又称Google Gson)是Google公司公布的一个开放源码的Java库.主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串成Java对象. ...
- 关于java、Android中Math的一些用法
java.math.Math类常用的常量和方法: Math.PI 记录的圆周率Math.E记录e的常量Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.co ...
- 在JAVA和android中常用的单列模式
在很多开发中,项目为了节约资源,都把一个类的构造函数变为私有化,这样整个项目中就不能创建多个实例,这样的方法我们称为单例模式 现在通过代码来简介下这个单例模式: 在新建一个java项目后,创建一个实体 ...
- Java、Android中Math详解
java.math.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Mat ...
- android中使用哪种方式解析XML比較好
SAX是一个用于处理XML事件驱动的"推"模型. 长处是一种解析速度快而且占用内存少的xml解析器,它须要哪些数据再载入和解析哪些内容. 缺点是它不会记录标签的关系.而要让你的应用 ...
- Android中的测试类配置AndroidManifest.xml
测试类至于要把一个类继承ActivityTestCase即可至于方法,根据需要自己建立方法:之后必须配置AnroidMainfest.xml文件 配置AndroidManifest.xml文件 1) ...
- [转]android中解析后台返回的json字符串
普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname&qu ...
- 在android中,如何去掉webview读取网页后点击网页上的按钮出现的方框
参考:http://blog.sina.com.cn/s/blog_64056edc0100xt3l.html <style type="text/css"> .bor ...
随机推荐
- WPF之application对象
WPF:Application简介 Application是一个地址空间,在WPF中应用程序就是在System.Windows命名空间下的一个Application实例.一个应用程序只能对应一个App ...
- Java POI 导出EXCEL经典实现 Java导出Excel
转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...
- iOS 图片转NSData-b
iOS开发中 UIImage可能经常需要转为NSData 上传 传递等等 有两个比较常用的方法 UIImageJPEGRepresentation UIImagePNGRepresentation 第 ...
- iOS 仪表式数字跳动动画-b
前几天搞了 双曲线波浪动画(http://www.jianshu.com/p/7db295fd38eb)和环形倒计时动画(http://www.jianshu.com/p/d1d16dff33c9)而 ...
- 用word2013写博客
第一次使用,添加博客账户时碰到一个奇怪的问题,先输入用户名,然后密码只能输入两个字符,后来先输入密码再输入用户名才解决,很神奇~
- bzoj 3287: Mato的刷屏计划 高精水题 && bzoj AC150
3287: Mato的刷屏计划 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 124 Solved: 43[Submit][Status] Desc ...
- 提升 DevOps 效率,试试 ChatOps 吧!
本文翻译自文章 To Boost DevOps, Try ChatOps,文中用简单易懂的方式介绍了 ChatOps 的发展和价值,由 OneAPM 工程师编译整理. 当我们谈论 DevOps 时,总 ...
- zoj 3841 Cards
题意:给你52张牌,已知一个牌的序列,然后利用剩余的牌,能排成多少个序列,这个序列比已知的序列字典序小. 思路:从左到右尽可能放比已知序列相应位置小,找不到就放一样,然后求组合数就可以.多重集排列定理 ...
- oracle索引再论
ORACLE中索引的数据结构有B树结构和位图结构. 我们通常用的普通索引.反向键索引.函数索引等都是B树结构的,是树状结构:位图结构则只有叶子节点. B树索引操作有唯一性扫描,范围扫描,快速索引全扫描 ...
- 【HDOJ】4902 Nice boat
区间线段树.题目还不错. /* */ #include <iostream> #include <string> #include <map> #include & ...