2016年7月16日 星期六

JAVA網路類

開啟JAVA
建立專案  File/New/Project
建立class  File/New/Class(勾選public static void main(string[]args)才會產生main)

間單印出語法
package test1;

public class Hello {

public static void main(String[] args) {
int a,b=2,c=3;
a=b+c;
           System.out.println("a="+a);
}

}

改變自體大小
路徑window > preferences > General >  Appearance > Colors and Fonts>Edit

FileOutputStream方法(將資料寫入檔案中,利用byte方式寫入,效率低)
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class test {
public static void main(String[] args) throws IOException {
FileOutputStream out = new FileOutputStream("data.txt");
out.write(65);
out.flush();
out.close();
}
}
(PS1:將test類別重新整理,會出現一個檔案名為data.txt,裡面內容為A)
(PS2:65為A)
PrintStream out 方法(將資料寫入檔案中,利用字串或是byte方式)
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.io.IOException;

public class test {

public static void main(String[] args) throws IOException {
PrintStream out = new PrintStream("abc.txt");
out.write(75);
out.print("XYZ");
out.flush();
out.close();
}


}
PS1:將test類別重新整理,會出現一個檔案名為abc.txt,裡面內容為KXYZ
PS2:75為K
PS3:也可以存成docx檔案


檢查檔案是否存在
import java.io.File;
public class test23 {

public static void main(String[] args) {
File ff = new File ("D:\\test\\test2\\abc.txt");
        System.out.println("exist?"+ff.exists());
        System.out.println("directory?"+ff.isDirectory());
        System.out.println("normal File?"+ff.isFile());
        System.out.println("read?"+ff.canRead());
        System.out.println("what is parent?"+ff.getParent());
}

}

PS1:abc.txt是已經存在的物件

簡單輸入,輸出~~舊版

import java.io.*;
public class test23 {

public static void main(String [] args) throws IOException{
Console cs = System.console();
System.out.println("enter your account");
String id =cs.readLine();
System.out.println("enter your password");
String pw =cs.readLine();
System.out.println("account"+id);
System.out.println("password"+pw);
}

}
PS1:舊版JAVA才有用

簡單輸入,輸出~~新版
public static void main(String[] args) throws IOException{
java.util.Scanner scanner = new
             java.util.Scanner(System.in);
 System.out.println("enter your account");
 int id = scanner.nextInt();
 System.out.println("enter your password");
 int pw = scanner.nextInt();
 System.out.println("account"+id);
 System.out.println("password"+pw);
}


語C語言相同的IF FOR用法
package wwwwq;
import java.io.Console;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.lang.model.element.UnknownElementException;

public class dggsdfg {
static int a=1;
static int b=0+1;
public static void main(String [] args) {
if(a==b){System.out.println("stupip question");}
}
}

PS1:for(int i=1;i<123;i++) 為for迴圈用法


偵測本機被占用的埠號
package wwwwq;
import java.io.Console;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.lang.model.element.UnknownElementException;

public class dggsdfg {
public void scan(){
for(int i=1;i<60000;i++){
try{
ServerSocket aaa =new ServerSocket(i);

}catch(IOException e){
System.out.println("port"+i+"using");
}
}
}
public static void main(String [] args) {

dggsdfg pserver =new dggsdfg();
pserver.scan();
}
}

賽馬執行緒1

package wwwwq;
import java.io.*;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.lang.model.element.UnknownElementException;


public class dggsdfg {
public static void main(String [] args){
int h1=0;
Horse h2 =new Horse();
Horse h3 =new Horse();
h2.setName("h2");
h3.setName("h3");
h2.start();
h3.start();


}
}


package wwwwq;

public class Horse extends Thread{
public void run(){
int h=0;
for(int i=0;i<50;i++){
h++;
System.out.println(getName()+":"+h);
}
}

}

PS1:如果沒有extends Thread,則無法使用start
PS2:可附加JOIN(),使得等待此執行結束後繼續。EX:
try{
h2.join();
h3.join();
}catch (InterruptedException e){
System.out.println("interrupt");
}