原文地址: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的更多相关文章

  1. JAVA、android中常用的一些jar包的作用

    正文: 这里主要介绍的是hibernate使用到的.jar Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进 ...

  2. Android中的应用——谷歌官方Json分析工具Gson使用

    一个.Gson基本介绍 Gson(又称Google Gson)是Google公司公布的一个开放源码的Java库.主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串成Java对象. ...

  3. 关于java、Android中Math的一些用法

    java.math.Math类常用的常量和方法: Math.PI 记录的圆周率Math.E记录e的常量Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.co ...

  4. 在JAVA和android中常用的单列模式

    在很多开发中,项目为了节约资源,都把一个类的构造函数变为私有化,这样整个项目中就不能创建多个实例,这样的方法我们称为单例模式 现在通过代码来简介下这个单例模式: 在新建一个java项目后,创建一个实体 ...

  5. Java、Android中Math详解

    java.math.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Mat ...

  6. android中使用哪种方式解析XML比較好

    SAX是一个用于处理XML事件驱动的"推"模型. 长处是一种解析速度快而且占用内存少的xml解析器,它须要哪些数据再载入和解析哪些内容. 缺点是它不会记录标签的关系.而要让你的应用 ...

  7. Android中的测试类配置AndroidManifest.xml

    测试类至于要把一个类继承ActivityTestCase即可至于方法,根据需要自己建立方法:之后必须配置AnroidMainfest.xml文件 配置AndroidManifest.xml文件 1) ...

  8. [转]android中解析后台返回的json字符串

    普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname&qu ...

  9. 在android中,如何去掉webview读取网页后点击网页上的按钮出现的方框

    参考:http://blog.sina.com.cn/s/blog_64056edc0100xt3l.html <style type="text/css"> .bor ...

随机推荐

  1. WPF之application对象

    WPF:Application简介 Application是一个地址空间,在WPF中应用程序就是在System.Windows命名空间下的一个Application实例.一个应用程序只能对应一个App ...

  2. Java POI 导出EXCEL经典实现 Java导出Excel

    转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...

  3. iOS 图片转NSData-b

    iOS开发中 UIImage可能经常需要转为NSData 上传 传递等等 有两个比较常用的方法 UIImageJPEGRepresentation UIImagePNGRepresentation 第 ...

  4. iOS 仪表式数字跳动动画-b

    前几天搞了 双曲线波浪动画(http://www.jianshu.com/p/7db295fd38eb)和环形倒计时动画(http://www.jianshu.com/p/d1d16dff33c9)而 ...

  5. 用word2013写博客

    第一次使用,添加博客账户时碰到一个奇怪的问题,先输入用户名,然后密码只能输入两个字符,后来先输入密码再输入用户名才解决,很神奇~

  6. bzoj 3287: Mato的刷屏计划 高精水题 && bzoj AC150

    3287: Mato的刷屏计划 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 124  Solved: 43[Submit][Status] Desc ...

  7. 提升 DevOps 效率,试试 ChatOps 吧!

    本文翻译自文章 To Boost DevOps, Try ChatOps,文中用简单易懂的方式介绍了 ChatOps 的发展和价值,由 OneAPM 工程师编译整理. 当我们谈论 DevOps 时,总 ...

  8. zoj 3841 Cards

    题意:给你52张牌,已知一个牌的序列,然后利用剩余的牌,能排成多少个序列,这个序列比已知的序列字典序小. 思路:从左到右尽可能放比已知序列相应位置小,找不到就放一样,然后求组合数就可以.多重集排列定理 ...

  9. oracle索引再论

    ORACLE中索引的数据结构有B树结构和位图结构. 我们通常用的普通索引.反向键索引.函数索引等都是B树结构的,是树状结构:位图结构则只有叶子节点. B树索引操作有唯一性扫描,范围扫描,快速索引全扫描 ...

  10. 【HDOJ】4902 Nice boat

    区间线段树.题目还不错. /* */ #include <iostream> #include <string> #include <map> #include & ...