⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myserversocket.java

📁 利用socket实现数据传输。java实现。具体运行看说明文档。
💻 JAVA
字号:
import java.io.*;
import java.net.*;

public class myServerSocket
{
	public static final int PORT =8080;
	public static void main(String [] args ) throws IOException
	{
		ServerSocket ser = new ServerSocket(PORT);
		System.out.println("Started:"+ser.toString());
		try
		{
		  Socket socket = ser.accept();	
		
		  try
		  {
			 System.out.println("Connection accepted:"+ socket);
			 //socket
			 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			 PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);

			 String choice;
			 
			 try{   
					choice = in.readLine();
					
					//send .txt file to  client
					if(choice.compareTo("0")==0)
					{
					   //print files in the dir for download
					    String dir_name = "D://";//默认D盘为下载区
						File dir = new File(dir_name);
						String[] files_indir;
						files_indir = dir.list();
						
						for(int i=0;i<files_indir.length;i++)
						{
							if(files_indir[i].contains(".txt")==true)
								out.println(files_indir[i]);
						}
						out.println("end");
						
						String download_file = in.readLine();//receive name of the file that client want to download.
						InputStream is = new FileInputStream(dir_name.concat(download_file));
						BufferedReader reader_file = new BufferedReader(new InputStreamReader(is));
						
						String line;// 用来保存每行读取的内容
            			line = reader_file.readLine();
            			while(line!=null)
            			{
            				out.println(line);//send
            				line = reader_file.readLine();
            			}
            			reader_file.close();	
            			out.close();
            		}
            
            		//receive .txt file from client.
            		else if(choice.compareTo("1")==0)
            		{
            				OutputStream file_out = new FileOutputStream("D:\\fromclient.txt");//默认接收上传的文件
  							BufferedWriter writer_file = new BufferedWriter(new OutputStreamWriter(file_out));
  					
  							String line;
  							line=in.readLine();  
  					
  							while(line!=null)
  							{
  								writer_file.write(line);
  								writer_file.newLine();
  								line = in.readLine();
  							} 
  							writer_file.close();
  							
  							System.out.println();
  							System.out.println("Succeed to receive file from client to D:\\fromclient.txt");
            		}		
					
  					}catch(IOException   e){   
  				}
		  }
		  finally
		  {
		  	System.out.println("closing...");
		  	socket.close();
		  }
		}
		finally
		{
			ser.close();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -