
微信圖片_20190409091358.png
package com.company;
import java.io.*;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) throws IOException {
System.out.println("請輸入一個(gè)目錄");
Scanner scanner = new Scanner(System.in);
String wfile = scanner.nextLine();
File file = new File(wfile);
if (file.exists()) {
System.out.println("the file is exits");
} else {
System.out.println("the file is not found");
file.mkdir();
}
System.out.println("請輸入一個(gè)文件");
Scanner scanner1=new Scanner(System.in);
String wfile01=scanner1.nextLine();
File newfile=new File(wfile+ "\\" +wfile01);
//File fileParent = file01.getParentFile();
if (newfile.exists()){
System.out.println("fileParent is exits");
}else {
newfile.createNewFile();
}
//System.out.println(newfile);
System.out.println("是否寫入文件?只進(jìn)行Y與N的判斷");
String nextLine1 = null;
do{
nextLine1= scanner1.nextLine();
char ch=nextLine1.charAt(0);
if(ch!='y'&& ch!='n'){
System.out.println("輸入字符錯(cuò)誤,請繼續(xù)輸入");
continue;
}
if(ch=='y'){
System.out.println("請輸入寫入文件的字符串");
String line=scanner1.nextLine();
FileWriter rd=new FileWriter(newfile);
rd.write(line);
rd.close();
}else{
FileReader r=new FileReader(newfile);
StringBuffer buf=new StringBuffer();
BufferedReader rr=new BufferedReader(r);
String s=null;
while((s=rr.readLine())!=null)buf.append(s);
rr.close();
r.close();
System.out.println(buf);
}
break;
}while(true);
}
}
//fileReader 輸入流 讀取數(shù)據(jù)
//fileWriter s輸出流 寫出數(shù)據(jù)
//fileParent 判斷父目錄是否存在 不存在則自己創(chuàng)建
socket通信
server
package com.company;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server { // 創(chuàng)建類
private PrintWriter writer;
private ServerSocket server; // 創(chuàng)建ServerSocket對象
private Socket socket; // 創(chuàng)建Socket對象socket
void serve() {
try {
server = new ServerSocket(8080); // 實(shí)例化ServerSocket對象,設(shè)置端口為8080
System.out.println("服務(wù)器套接字已經(jīng)創(chuàng)建成功");
while (true) { // 如果套接字是連接狀態(tài)
System.out.println("等待客戶機(jī)的連接.......");
socket = server.accept(); // 實(shí)例化Socket對象,使用accept方法等待客戶機(jī)連接
writer = new PrintWriter(socket.getOutputStream(), true);//建立通信通道,強(qiáng)行輸出數(shù)據(jù)
writer.println("您已成功連接到遠(yuǎn)程服務(wù)器!"+"/"+"有什么可以幫你的嗎?");//將信息寫入流
writer.flush();//關(guān)閉流
Scanner sc=new Scanner(System.in);
Scanner sc1=new Scanner(socket.getInputStream());//從客戶機(jī)里獲得輸入流并轉(zhuǎn)化為Scanner對象
while(true){
String data = sc1.nextLine();
System.out.println("客戶機(jī):"+data);
System.out.print("我(服務(wù)機(jī)):");
String data1 = sc.nextLine();
//System.out.println("我(服務(wù)機(jī)):"+data1);
writer.println(data1);//將數(shù)據(jù)寫入流
writer.flush();//關(guān)閉流
}
}
} catch (Exception e) {
e.printStackTrace(); // 輸出異常信息
}
}
public static void main(String[] args) { // 主方法
Server tcp = new Server(); // 創(chuàng)建本類對象
tcp.serve(); // 調(diào)用方法
}
}
client
package com.company;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class Client {
private PrintWriter writer; // 聲明PrintWriter類對象
Socket socket; // 聲明Socket對象
private void client() { // 連接套接字方法
System.out.println("嘗試連接\n"); // 輸出提示信息
try { // 捕捉異常
socket = new Socket("localhost" +
"", 8080); // 實(shí)例化Socket對象,連接端口8080服務(wù)器
writer = new PrintWriter(socket.getOutputStream(), true);//建立通信通道,強(qiáng)行輸出數(shù)據(jù)
System.out.println("完成連接");
Scanner sc=new Scanner(socket.getInputStream());//獲得服務(wù)機(jī)的輸入流并轉(zhuǎn)為Scanner對象
System.out.println(sc.nextLine());//輸出信息
System.out.println("我(客戶機(jī)):");
Scanner sc1=new Scanner(System.in);
while(true){
String data=sc1.nextLine();
//System.out.println("我(客戶機(jī)):"+data);
writer.println(data);//將數(shù)據(jù)寫入流
writer.flush();//關(guān)閉流
String data1=sc.nextLine();
System.out.println("服務(wù)機(jī):"+data1);
System.out.println("我(客戶機(jī)):");
}
} catch (Exception e) {
e.printStackTrace(); // 輸出異常信息
}
}
public static void main(String[] args) { // 主方法
Client clien = new Client(); // 創(chuàng)建本例對象
clien.client(); // 調(diào)用連接方法
}
}