1. 程式人生 > >SWUST--Java實驗(八) 網路程式設計

SWUST--Java實驗(八) 網路程式設計


import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.JButton;

public class MyURL extends JFrame {

	private JPanel contentPane;
	private static JTextField jf;
	static JTextArea jta;

	/**
	 * Launch the application.
	 * 
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		new MyURL();

	}

	/**
	 * Create the frame.
	 */
	public MyURL() {
		setTitle("URL\u7A0B\u5E8F");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 293, 353);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		JLabel lblNewLabel = new JLabel("URL\u8DEF\u5F84:");
		lblNewLabel.setFont(new Font("幼圓", Font.PLAIN, 18));
		lblNewLabel.setBounds(10, 21, 73, 26);
		contentPane.add(lblNewLabel);

		jf = new JTextField();
		jf.setFont(new Font("微軟雅黑", Font.PLAIN, 16));
		jf.setBounds(10, 57, 257, 33);
		contentPane.add(jf);
		jf.setColumns(10);

		JPanel panel = new JPanel();
		panel.setBounds(10, 123, 257, 192);
		contentPane.add(panel);
		panel.setLayout(new BorderLayout(0, 0));

		JScrollPane scrollPane = new JScrollPane();
		panel.add(scrollPane, BorderLayout.CENTER);

		jta = new JTextArea();
		jta.setLineWrap(true);
		jta.setEditable(false);
		scrollPane.setViewportView(jta);

		JLabel lblNewLabel_1 = new JLabel("HTML\u6E90\u7801:");
		lblNewLabel_1.setFont(new Font("宋體", Font.PLAIN, 14));
		lblNewLabel_1.setBounds(10, 91, 73, 33);
		contentPane.add(lblNewLabel_1);

		JButton bt = new JButton("\u83B7\u53D6");
		bt.setFont(new Font("宋體", Font.PLAIN, 14));
		bt.setBounds(171, 22, 81, 26);
		contentPane.add(bt);
		
		bt.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					URL url = new URL(jf.getText());
					URLConnection ulc = url.openConnection();
					HttpURLConnection huc = (HttpURLConnection) ulc;//可加可不加
					int responseCode = huc.getResponseCode();
					if (responseCode == HttpURLConnection.HTTP_OK) {
						System.err.println("成功");
						FileWriter fos = new FileWriter("D:\\index.html");
						BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream()));
						String str = null;
						while ((str = br.readLine()) != null) {
							jta.append(str+'\n');
							fos.write(str+'\n');
						}
										
						fos.close();
						br.close();
						huc.disconnect();
					}else {
						System.err.println("失敗!");
					}					
				} catch (MalformedURLException e1) {
					e1.printStackTrace();
				} catch (IOException e1) {
					e1.printStackTrace();
				}		
			}
		});
				
		setVisible(true);
	}
}

相關推薦

SWUST--Java實驗() 網路程式設計

import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorde

SWUST--Java實驗() 網路程式設計

import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.borde

java:socket 網路程式設計

socket的通俗解釋: 套接字=主機+埠號。兩個東西配在一起,叫做“配套”。 另外“套”也有對應的意思,它可以把網路上的兩個應用對應起來,所以用“套”。 它是用來與另一個應用連線的,所以用“接”。 又因為它是一小段資料,很小一小段,所以叫“字”。 “套接字",就是一小段用來將網路個兩個應用

7.3(java學習筆記)網路程式設計之UDP

一、UDP   UDP的全稱是User Datagram Protocol(使用者資料報協議),是一種無連線的不安全的傳輸協議,   傳輸資料時傳送方和接收方無需建立連線,所以是不安全的。   傳送時不建立連線直接傳送,傳送後不關注接受方能否接到。UDP只負責發出去,後續的事情與之無關。  

java學習day20--網路程式設計

一.網路模型與協議: OSI 七層模式 : 應用層,表示層,會話層,傳輸層,網路層,鏈路層,物理層 五層模型: 應用層, 傳輸層,網路層,鏈路層,物理層 四層模型 : 應用層, 傳輸層,網路層,鏈路層 應用層:http(超文字傳輸協議) ftp(檔案傳輸協議) stmp (郵件傳送協議) pop

SWUST--Java實驗(七) 客戶端與伺服器聊天實現

import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorde

JAVA中-面向網路程式設計---單層互動

面向網路程式設計---單層互動: 客戶端說明: /* * 實現TCP客戶端,連結到伺服器 * 和伺服器實現資料互動 * 實現TCP客戶端的類 java.net.Scoket * 構造方法: * Socket sco = new Sockte( String ip ,in

Java基礎鞏固——網路程式設計基礎 URL

此教程總結是根據JDK 8編寫的 什麼是URL? URL是統一資源定位器的首字母縮寫。它是Internet上資源的引用(地址) URL有兩個主要元件: 協議識別符號:對於URL http://example.com,協議識別符號為http。 資源名

Java粗淺認識-網路程式設計(一)

網路通訊 網路通訊,就是程序間的一種通訊方式,網路通訊都採用客戶端-服務端模型,當然與之相對的就是程序內部的通訊(就是後面要講的多執行緒程式設計裡面的東西,包括同步,訊號量)。 unix網路通訊關於網路通訊 I/O多路複用,select(基於輪詢,支援少數檔案描述符)、poll(基

Java粗淺認識-網路程式設計(二)

單執行緒模型 服務端繫結一個埠,然後接收請求,每次請求就處理,後續請求進來時,等待之前的任務處理完成,如果任務處理非常快,也是不會有明顯阻塞的。 單執行緒模型服務端程式碼 展示檔案上傳後處理邏輯,在一個while(true)中阻塞等待accept,由於是演示網路通訊,這裡的檔案I/O快取

【翻譯】java-TCP-socket網路程式設計2

我搬家到部落格園了。。。。 URL url = new URL("http://jenkov.com");//新建一個URL URLConnection urlConnection = url.o

java se基礎--網路程式設計

十一.網路程式設計1.要想實現網路傳輸,需要考慮的問題有哪些?         1.1如何才能準確的定位網路上的一臺主機?         1.2如何才能進行可靠的、高效的資料傳輸?2.java如何實現的網路通訊         2.1使用IP地址---定位一臺主機   使用

JAVA中的網路程式設計詳解

1、網路程式設計 網路程式設計 網路程式設計對於很多的初學者來說,都是很嚮往的一種程式設計技能,但是很多的初學者卻因為很長一段時間無法進入網路程式設計的大門而放棄了對於該部分技術的學習。 在 學習網路程式設計以前,很多初學者可能覺得網路程式設計是

Java 網路程式設計 Java中的網路程式設計

說道網路程式設計,瞭解socket程式設計,分為TCP和UPD,對於具體實現細節,就不知道。希望學完這一塊,自己能夠獨立完成一個socket的編寫。  關於網際網路WEB相關的知識點,後面開始總結,今天不在此作介紹。 Socket套接字:網路上具有唯一標識的IP地址和埠組合在一起才能構成唯一能識

SWUST--Java實驗(六) 執行緒

public class CaThread implements Runnable { static double sum = 1; static String str = "1!"; static int n = 1; Thread thread;//執行緒類物件

黑馬程式設計師-JAVA高階(網路程式設計)PART2

---------------------- ASP.Net+Android+IOS開發、.Net培訓、期待與您交流! ---------------------- 這部分的知識點主要有: 1.TCP傳輸的幾個應用; 2.瀏覽器訪問伺服器。 一、TCP傳輸的幾個應用

黑馬程式設計師-JAVA高階(網路程式設計)PART1

---------------------- ASP.Net+Android+IOS開發、.Net培訓、期待與您交流! ---------------------- 這部分的主要知識點: 1.網路程式設計概述; 2.UDP傳輸; 3.TCP傳輸。 一、網路程式設計概述

JAVA基礎_網路程式設計

        IP地址:InetAddress類;         public static InetAddress getLocalHost()throws UnknownHostException返回本地主機。//通過次方法獲得IP地址:         publ

Java基礎知識網路程式設計

概述 java除了可以完成本地的操作,也可以完成網路通訊。比如想從自己的電腦上傳送一個資訊到張三的電腦上,張三收到資訊之後再給我返回一個資訊,利用java實現兩個機器之間的資料的通訊。資料通訊的原理就是資料傳輸的過程,與本機的區別就是涉及到網路。 網路通訊要

Java基礎知識網路程式設計(瀏覽器&服務端)

TCP協議傳輸資料時有客戶端和服務端,客戶端和服務端無非就是基於網路應用的程式而已,生活中,瀏覽器就是一個標準的客戶端。 1演示服務端和瀏覽器: 服務端: 服務端即自己的主機,寫一個服務端的小程式碼: import java.io.*; import j