微信图片_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("请输入一个目录");
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("请输入一个文件");
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("是否写入文件?只进行Y与N的判断");
String nextLine1 = null;
do{
nextLine1= scanner1.nextLine();
char ch=nextLine1.charAt(0);
if(ch!='y'&& ch!='n'){
System.out.println("输入字符错误,请继续输入");
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 输入流 读取数据
//fileWriter s输出流 写出数据
//fileParent 判断父目录是否存在 不存在则自己创建
socket通信
server
package com.company;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server { // 创建类
private PrintWriter writer;
private ServerSocket server; // 创建ServerSocket对象
private Socket socket; // 创建Socket对象socket
void serve() {
try {
server = new ServerSocket(8080); // 实例化ServerSocket对象,设置端口为8080
System.out.println("服务器套接字已经创建成功");
while (true) { // 如果套接字是连接状态
System.out.println("等待客户机的连接.......");
socket = server.accept(); // 实例化Socket对象,使用accept方法等待客户机连接
writer = new PrintWriter(socket.getOutputStream(), true);//建立通信通道,强行输出数据
writer.println("您已成功连接到远程服务器!"+"/"+"有什么可以帮你的吗?");//将信息写入流
writer.flush();//关闭流
Scanner sc=new Scanner(System.in);
Scanner sc1=new Scanner(socket.getInputStream());//从客户机里获得输入流并转化为Scanner对象
while(true){
String data = sc1.nextLine();
System.out.println("客户机:"+data);
System.out.print("我(服务机):");
String data1 = sc.nextLine();
//System.out.println("我(服务机):"+data1);
writer.println(data1);//将数据写入流
writer.flush();//关闭流
}
}
} catch (Exception e) {
e.printStackTrace(); // 输出异常信息
}
}
public static void main(String[] args) { // 主方法
Server tcp = new Server(); // 创建本类对象
tcp.serve(); // 调用方法
}
}
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); // 实例化Socket对象,连接端口8080服务器
writer = new PrintWriter(socket.getOutputStream(), true);//建立通信通道,强行输出数据
System.out.println("完成连接");
Scanner sc=new Scanner(socket.getInputStream());//获得服务机的输入流并转为Scanner对象
System.out.println(sc.nextLine());//输出信息
System.out.println("我(客户机):");
Scanner sc1=new Scanner(System.in);
while(true){
String data=sc1.nextLine();
//System.out.println("我(客户机):"+data);
writer.println(data);//将数据写入流
writer.flush();//关闭流
String data1=sc.nextLine();
System.out.println("服务机:"+data1);
System.out.println("我(客户机):");
}
} catch (Exception e) {
e.printStackTrace(); // 输出异常信息
}
}
public static void main(String[] args) { // 主方法
Client clien = new Client(); // 创建本例对象
clien.client(); // 调用连接方法
}
}