好的,我会尽量直接。我正在开发一个基于通用客户端/服务器架构的文件共享应用程序。我也有 HandleClient 类,但这在这里并不是特别重要。
我想做的是允许用户搜索可以存储在其他用户共享文件夹中的特定文件。例如,3 个用户连接到服务器,他们都有各自的共享文件夹。其中一个想要搜索一个名为“Madonna”的文件,应用程序应该列出所有包含该名称的文件,并且在该文件名旁边应该有一个关于拥有/拥有想要文件的用户的信息。该信息可以是用户名或 IP 地址。这是 User 类,它需要编写的方式(这就是我的上级想要的方式):
import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;
public class User {
public static String username;
public static String ipAddress;
public User(String username, String ipAddress) {
username = username.toLowerCase();
System.out.println(username + " " + ipAddress);
}
public static void fileList() {
Scanner userTyping = new Scanner(System.in);
String fileLocation = userTyping.nextLine();
File folder = new File(fileLocation);
File[] files = folder.listFiles();
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < files.length; i++) {
list.add(i, files[i].toString().substring(fileLocation.length()));
System.out.println(list.get(i));
}
}
public static void main(String args[]) {
System.out.println("Insert the URL of your shared folder");
User.fileList();
}
}
此类存储特定用户的属性(用户名、IPAddress),并从该特定用户的共享文件夹创建文件列表。列表类型是 ArrayList,这就是它必须的,我的上级再次告诉我。
另一方面,我需要另一个名为 RequestForFile(String fileName) 的类,其目的是在搜索时登录的所有用户的文件的 ArrayLists 中查找某个文件。
这就是它应该的样子,这是我特别需要你帮助的地方,因为我遇到了一个错误,我无法完成课程。
import java.util.ArrayList;
public class RequestForFile {
public RequestForFile(String fileName) {
User user = new User("Slavisha", "84.82.0.1");
ArrayList<User> listOfUsers = new ArrayList();
listOfUsers.add(user);
for (User someUser : listOfUsers) {
for (String request : User.fileList()) {
if (request.equals(fileName))
System.out.println(someUser + "has that file");
}
}
}
}
这个想法是让用户在其他用户的列表中查找并返回具有所需文件位置的用户。暂时不考虑 GUI,当我解决这个问题时,我会处理它。任何帮助表示赞赏。谢谢我在这里回答有关此问题的任何内容。