I/O系统、网络编程、XML

I/O系统

  输入流InputStream

     File file = new File("E:\\ello"); //找到指定文件

    if(file.exists()){//文件是否存在
         System.out.println("存在");
        }else{
         System.out.println("不存在");
           if(!file.isDirectory()){
              try {
               file.createNewFile();//文件不存在就新建一个次名字的文件
          } catch (IOException e) {
            //  TODO Auto-generated catch block
             e.printStackTrace();
                }
             }
            }

    try {
        InputStream inputStream = new FileInputStream(file);//读取内容,InputStream 是抽象类,只能实例化继承他的子类

        try {

          int b = 0;

            while( (b = inputStream.read()) != -1){
                 System.out.print((char)b);
               }

          } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
              }

    } catch (FileNotFoundException e) {
      // TODO Auto-generated catch block
        System.out.println("文件不存在");
    }

    inputStream .close();//关闭流,释放内存空间

  FileReader与InputStream类似,并且可以读取中文。

  输出流OutputStream

    OutputStream outputStream=new FileOutputStream("src/hello.txt");

    outputStream.write(x);//写入Int类型的值x

    FileWriter fileWriter=new FileWriter ("");

    fileWriter.close();//立即写入

   String str="world";

   byte[] bytes=str.getBytes();

   out.write(bytes);

   out.flush;//清空缓存区,立即写入

  //str.subString(0,str.indexOf(l)); 截取字符串str下标0到l的字符

  BufferReader

  readLine();//一行一行的读

  Properties以键值对的方式存放数据

网络编程

TCP

  ServerSocket与 Socket都在java.net包下  

    //服务器端

    public class SeverTest {
      public static void main(String[] args) {
        try {
          ServerSocket server = new ServerSocket(6669);//端口号0-65535 100之后
            while(true){

                Socket s = server.accept();//接收客户端的链接 阻塞式的等待
                // InetAddress address = s.getInetAddress();
                // System.out.print(address.getHostAddress());
                while(true){
                  InputStream inputStream = s.getInputStream();
                  DataInputStream dataInputStream = new DataInputStream(inputStream);
                   System.out.println("客户端说:"+dataInputStream.readUTF());//readUTF 阻塞
                    OutputStream out = s.getOutputStream();
                    DataOutputStream dataOutputStream = new DataOutputStream(out);
                    System.out.println("qingshuohua");
                    Scanner scanner = new Scanner(System.in);
                    String str = scanner.nextLine();
                    dataOutputStream.writeUTF(str);
                      }
             }

        } catch (IOException e) {
          // TODO Auto-generated catch block
            e.printStackTrace();
          }
      }

    }

 //客户端 

  public class SocketTest {
    public static void main(String[] args) {

      try {

        Socket s = new Socket("localhost",6669);

          while(true){
            OutputStream out = s.getOutputStream();

            DataOutputStream dataOutputStream = new DataOutputStream(out);
            System.out.println("qingshuohua");
            Scanner scanner = new Scanner(System.in);
            String str = scanner.nextLine();

            dataOutputStream.writeUTF(str);

            InputStream inputStream = s.getInputStream();
            DataInputStream dataInputStream = new DataInputStream(inputStream);
            System.out.println("服务端说:"+dataInputStream.readUTF());
              }

          } catch (UnknownHostException e) {
              // TODO Auto-generated catch block
            e.printStackTrace();
          } catch (IOException e) {
              // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

  }

UDP

  public class SendTest {
     public static void main(String[] args) {
      String str="hello";
      byte[] buf=str.getBytes();
      try {
      DatagramPacket packet=new DatagramPacket(buf, buf.length, new InetSocketAddress("127.0.0.1",8523));
      DatagramSocket socket=new DatagramSocket(4747);
        try {
        socket.send(packet);
        } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
            }
          } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
          }
    }

  }

  public class ReceiveTest {
    public static void main(String[] args) {
      byte[] buf=new byte[1024];
      DatagramPacket paket=new DatagramPacket(buf, buf.length);
      try {
      DatagramSocket socket=new DatagramSocket(8523);
        try {
          socket.receive(paket);

          System.out.println(new String(paket.getData()));
          } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            }
        } catch (SocketException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          }

      }
  }

XML解析技术

  XML文档由两部分组成:序言和文档元素。

  XML文档声明: 由"<?xml>"开始,以"?>"结束

           里面包含版本号(version)、独立文档说明(standalone)和编码声明(encoding)

          目前版本号只有1.0,编码一般用UTF-8。

  XML文档注释:以"<!--"开始,"-->"结束

时间: 2024-10-15 22:20:41

I/O系统、网络编程、XML的相关文章

iOS核心笔记——网络编程-XML

1.XML简介: ?了解:XML的全称是Extensible Markup Language,翻译为"可扩展标记语言":与JSON一样,也是常用的一种用于交互的数据格式:一般也称为XML文档(XML Document). XML文档示例: 2.XML语法介绍: 2-1.XML-文档声明: 2-2.XML-元素(Element): 2-3.XML-元素注意: 2-4.XML-属性(Attribute): 3.XML解析方案: ?了解:XML有2种解析方式:①DOM:一次性将整个XML文档

Android网络编程之获取网络上的XML

Android网络编程之获取网络上的XML 请尊重他人的劳动成果,转载请注明出处:Android网络编程之获取网络上的XML 为要获取网络上的XML所以需要服务器端提供的支持. 一.创建服务器端: 服务器端项目结构: 服务器端运行效果图: 第一步:创建业务所需的JavaBean package com.jph.server.model; import java.util.Date; /** * 新闻实体类 * @author jph * Date:2014.09.26 */ public cla

Java网络编程丶数据库编程丶XML解析技术。

Java网络编程 物理层. 数据链路层. 网络层. 传输层. 会话层. 表示层. 应用层. TCP/IP分层接口包括用于协作层分别完成以下的功能: 网络接口层. 网络互联层. 传输层. 应用层. 套接字: Socket.套接字.是一种抽象层. // 创建客户端Socket向服务器发起连接请求 Socket socket = new Socket("127.0.0.1", 30001); /* 利用已建立的socket创建输入输出流,处理与服务器端的连接 */ // 向服务器写入数据 B

iOS网络编程开发—JSON和XML数据解析

iOS网络编程开发—JSON解析 一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim"]} 标准JSON格式的

【LINUX/UNIX网络编程】之简单多线程服务器(多人群聊系统)

RT,Linux下使用c实现的多线程服务器.这个真是简单的不能再简单的了,有写的不好的地方,还希望大神轻拍.(>﹏<) 本学期Linux.unix网络编程的第四个作业. 先上实验要求: [实验目的] 1.熟练掌握线程的创建与终止方法: 2.熟练掌握线程间通信同步方法: 3.应用套接字函数完成多线程服务器,实现服务器与客户端的信息交互. [实验内容] 通过一个服务器实现最多5个客户之间的信息群发. 服务器显示客户的登录与退出: 客户连接后首先发送客户名称,之后发送群聊信息: 客户输入bye代表退

物联网网络编程、Web编程综述

本文是基于嵌入式物联网研发工程师的视觉对网络编程和web编程进行阐述.对于专注J2EE后端服务开发的童鞋们来说,这篇文章可能稍显简单.但是网络编程和web编程对于绝大部分嵌入式物联网工程师来说是一块真空领域. 的确,物联网研发应该以团队协作分工的方式进行,所以有嵌入式设备端.网关.web前端.APP.后端开发等专属岗位.作为系统架构师,自然需要掌握各种岗位的关键技术.作为嵌入式工程师,掌握网络编程.web编程,能够极大地拓展自己的视野和架构思维,能够主动地对系统的各种协议和应用场景提出优化的见解

Android网络编程网上文章总结

关于网络编程,网上也有许多好的文章,这里我就选了几篇觉得不错的归纳到了一起,仅供参考 Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取数

Android开发之使用Web Service进行网络编程

使用Web Service进行网络编程 Android应用通常都是执行在手机平台上.手机系统的硬件资源是有限的,无论是存储能力还是计算能力都有限.在Android系统上开发.执行一些单用户.小型应用是可能的, 但对于须要进行大量的数据处理.复杂计算的应用.还是仅仅能部署在远程server上,Android应用将仅仅是充当这些应用的client. 为了让Android应用与远程server之间进行交互,能够借助子Java的RMI技术,但这要求远程server程序必须採用Java实现:也能够借助于C

全栈必备 网络编程基础

我们是幸运的,因为我们拥有网络.网络是一个神奇的东西,它改变了你和我的生活方式,改变了整个世界. 然而,网络的无标度和小世界特性使得它又是复杂的,无所不在,无所不能,以致于我们无法区分甚至无法描述. 对于一个码农而言,了解网络的基础知识可能还是从了解定义开始,认识OSI的七层协议模型,深入Socket内部,进而熟练地进行网络编程. 关于网络 关于网络,在词典中的定义是这样的: 在电的系统中,由若干元件组成的用来使电信号按一定要求传输的电路或这种电路的部分,叫网络. 作为一名从事过TMN开发的通信