/*
* 本程序主要功能:
* 客户端:
* 获取客户端指定路径下的文件列表
* 并将其传输至服务器
*
*/
import java.io.*;
import java.net.*;
/*
* 本类主要功能:
* 获取指定路径下的文件列表
*
*/
class FileList
{
File file;
String[] fileList;
public FileList(String fileRoute)
{
//通过指定路径,构造 file 对象
file = new File(fileRoute);
//获取指定路径下的文件列表,保存至 fileList 中
fileList = file.list();
}
}
/*
* 本类主要功能:
* 使用 Socket 连接至服务器
* 并将文件列表传输至服务器
*
*/
class SocketClient
{
Socket socket;
DataOutputStream dos;
public SocketClient()
{
try
{
//连接至服务器
socket = new Socket("localhost",8080);
//获取输出流
dos = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void sendFileList(String[] fileList)
{
try
{
//往输出流中写出文件数目
dos.writeInt(fileList.length);
//更新输出流
dos.flush();
}
catch (IOException e1)
{
e1.printStackTrace();
}
//当 i < 文件数目时,写出文件名
for(int i = 0; i < fileList.length; i++)
{
try
{
//写出文件名
dos.writeUTF(fileList[i]);
//更新输出流
dos.flush();
}
catch(Exception e)
{
e.printStackTrace();
}
}
try
{
dos.close();
socket.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
public class TestFileListClient
{
public static void main(String[] args)
{
// TODO 自动生成的方法存根
SocketClient sc = new SocketClient();
FileList fl = new FileList("D:\\资料\\研究生资料\\P2P\\移动计算,移动云");
//通过 SocketClient.sendFileList 方法发送文件名
sc.sendFileList(fl.fileList);
}
}
10.获取客户端指定路径下的文件目录,并传输至服务器端--客户端
最新推荐文章于 2021-08-12 10:38:29 发布