java - Eclipse 和 WinSCP(Putty) 中的不同输出

标签 java eclipse

我的程序可以运行,并且在 Eclipse 中得到了所需的输出,但是在 Putty 上却失败了。

期望的输出是: [Eclipse 输出]

enter image description here

但是在腻子上我得到了这个:

enter image description here

因此,在每个“Command.....”文本之后应该有一些输出,然后是“------------”。但是它只打印命令文本和“--------” -”。有人知道为什么吗?我的意思是为什么它与 Eclipse 中的输出不同?

这是我的主要类(class):

import java.io.*;
import java.util.*;
import java.text.*;
/**
 * @author Habil Ganbarli
 * Date:   17.04.2017
 * Project: Mini-Facebook Application
 *
 */
public class Main {

    public static void app_Start(String file) throws ParseException{
        try {
            // Reading text file line by line 
             Scanner scanner = new Scanner(new File(file));
             while(scanner.hasNextLine()){
             String line = scanner.nextLine();
             line = line.trim();
             // check if line is not empty
             if(!line.isEmpty()){
                 // Split lines for arguments and execute needed funtions
                 String[] array_as_line = line.split("  ");
                 if(array_as_line[0].equals("ADDUSER")){
                     System.out.println("Command: " + line);
                     UserCollection.addNewUser(array_as_line[1], array_as_line[2], array_as_line[3], array_as_line[4], array_as_line[5]);
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("REMOVEUSER")){
                     System.out.println("Command: " + line);
                     UserCollection.removeUser(Integer.parseInt(array_as_line[1]));
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("LISTUSERS")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).listUsers();
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("SHOWPOSTS")){
                     System.out.println("Command: " + line);
                     UserCollection.showPosts(array_as_line[1]);
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("SIGNIN")){
                     System.out.println("Command: " + line);
                     UserCollection.UserSignIn(array_as_line[1], array_as_line[2]);
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("SIGNOUT")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).SignOut();
                         }
                     }

                 }else if(array_as_line[0].equals("UPDATEPROFILE")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).getName().equals(array_as_line[1])){
                             UserCollection.getUser_objects().get(i).UpdateProfileInfo(array_as_line[1], array_as_line[2], array_as_line[3]);
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("CHPASS")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).ChangePassword(array_as_line[1], array_as_line[2]);
                         }
                     }

                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("ADDFRIEND")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).addFriend(array_as_line[1]);
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("REMOVEFRIEND")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).removeFriend(array_as_line[1]);
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("ADDPOST-TEXT")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).addTextPost(array_as_line[1],Double.parseDouble( array_as_line[2]), Double.parseDouble(array_as_line[3]), array_as_line[4]);
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("ADDPOST-IMAGE")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).addImagePost(array_as_line[1],Double.parseDouble( array_as_line[2]), Double.parseDouble(array_as_line[3]), array_as_line[4],array_as_line[5],array_as_line[6]);
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("ADDPOST-VIDEO")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).addVideoPost(array_as_line[1],Double.parseDouble( array_as_line[2]), Double.parseDouble(array_as_line[3]), array_as_line[4],array_as_line[5],Integer.parseInt(array_as_line[6]));
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("REMOVELASTPOST")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).removeLastPost();
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("BLOCK")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).blockUser(array_as_line[1]);
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("UNBLOCK")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).unblockUser(array_as_line[1]);
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("LISTFRIENDS")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).listFriends();
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("SHOWBLOCKEDFRIENDS")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).showBlockedFriends();
                         }
                     }
                     System.out.println("-----------------------");
                 }else if(array_as_line[0].equals("SHOWBLOCKEDUSERS")){
                     System.out.println("Command: " + line);
                     for(int i=0;i<UserCollection.getUser_objects().size();i++){
                         if(UserCollection.getUser_objects().get(i).isSignIn()==true){
                             UserCollection.getUser_objects().get(i).showBlockedUsers();
                         }
                     }
                     System.out.println("-----------------------");
                 }
             }
             }
             scanner.close();
        }
        catch (FileNotFoundException ex) {
             System.out.println("No File Found!");
             return;
        }   
    }

    public static void main(String[] args) throws FileNotFoundException, IOException, ParseException {
        UserCollection.fill_user_arraylist(args);
        UserCollection.addUserfromTxtFile();
        app_Start(args[1]);
    }

}

这是我的 UserCollection 类:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class UserCollection {

    public static int countLines(String filename) throws IOException {
        LineNumberReader reader  = new LineNumberReader(new FileReader(filename));
        int cnt = 0;
        String lineRead = "";
        while ((lineRead = reader.readLine()) != null) {}
        cnt = reader.getLineNumber(); 
        reader.close();
        return cnt;
    }

    public static  ArrayList<ArrayList<String>> to2DList(String filePath,int rownum) throws FileNotFoundException{
        ArrayList<ArrayList<String>> final_arraylist = new ArrayList<ArrayList<String>>();  
        Scanner scanner = new Scanner(new File(filePath));
        while(scanner.hasNextLine()){
             String line = scanner.nextLine();
             String[] line_array = line.trim().split("\t");
             final_arraylist.add(new ArrayList<String>(Arrays.asList(line_array)));

        }
        scanner.close();
        return final_arraylist;
    }

    public static ArrayList<ArrayList<String>> user_arraylist = new ArrayList<ArrayList<String>>();
    private static ArrayList<User> user_objects = new ArrayList<User>();

    public static void fill_user_arraylist(String[] args) throws FileNotFoundException, IOException{
        user_arraylist = to2DList(args[0], countLines(args[0]));
    }

    public static void addUserfromTxtFile() throws ParseException{
        for(int i=0;i<user_arraylist.size();i++){
            String obj_name = UserCollection.user_arraylist.get(i).get(0);
            User user = new User(UserCollection.user_arraylist.get(i).get(0), UserCollection.user_arraylist.get(i).get(1), UserCollection.user_arraylist.get(i).get(2), UserCollection.user_arraylist.get(i).get(3), UserCollection.user_arraylist.get(i).get(4));
            user_objects.add(user); 
        }
    }

    public static ArrayList<User> getUser_objects() {
        return user_objects;
    }

    public static ArrayList<ArrayList<String>> getUser_arraylist() {
        return user_arraylist;
    }

    public UserCollection(){

    }

    public static void addNewUser(String name,String username,String password,String DateOfbirth,String graduatedSchool) throws ParseException{
        User user = new User(name,username,password,DateOfbirth,graduatedSchool);
        UserCollection.getUser_objects().add(user);
        System.out.println(name + " has been successfully added.");
    }

    public static void removeUser(int userID){
        int check = 0;
        int index = 0;
        for(int u = 0;u<UserCollection.user_objects.size();u++){
            if(UserCollection.user_objects.get(u).getUserId()==userID){
                index = u;
                check++;
            }
        }
        if(check !=0){
            UserCollection.getUser_objects().remove(index);
            System.out.println("User has been succesfully removed.");
        }else{
            System.out.println("No such user!");
        }

        //System.out.println("User has been succesfully removed");
    }

    public static void UserSignIn(String username,String password){
        int checkUser = 0;
        int checkUserPassMatch = 0;
        for(int i=0;i<UserCollection.user_objects.size();i++){
            if(UserCollection.user_objects.get(i).getUserName().equals(username)){
                checkUser++;
            }
            if(UserCollection.user_objects.get(i).getUserName().equals(username) && UserCollection.user_objects.get(i).getPassword().equals(password)){
                checkUserPassMatch++;
            }
        }
        if(checkUser != 0){
            if(checkUserPassMatch !=0){
                for(int i=0;i<UserCollection.user_objects.size();i++){
                    if(UserCollection.user_objects.get(i).getUserName().equals(username) && UserCollection.user_objects.get(i).getPassword().equals(password)){
                        UserCollection.user_objects.get(i).setSignInTrue();
                        System.out.println("You have successfully signed in.");
                    }
                }
            }else{
                System.out.println("Invalid username or password! Please try again.");
            }
        }else{
            System.out.println("No such user!");
        }
    }

    public static void showPosts(String username){
        int checkIfUserExists = 0;
        for(int i=0;i<user_objects.size();i++){
            if(user_objects.get(i).getUserName().equals(username)){
                checkIfUserExists++;
            }
        }
        if(checkIfUserExists != 0){
            for(int i=0;i<user_objects.size();i++){
                if(user_objects.get(i).getUserName().equals(username)){
                    if(user_objects.get(i).getCollection_post().size() != 0){
                        System.out.println("**************\n" + username + "'s Posts\n**************");
                        for(int p=0;p<user_objects.get(i).getCollection_post().size();p++){
                            System.out.println(user_objects.get(i).getCollection_post().get(p).toString());
                            System.out.println("----------------------");
                        }
                    }else{
                        System.out.println(username + " does not have any posts yet.");
                    }
                }
            }
        }else{
            System.out.println("No such user!");
        }
    }
}

最佳答案

这都是关于 javac 在编译类文件时在 putty 上工作的方式。它的全名是 Java 编程语言编译器,它的参数类型为命令:

javac [ options ] [ sourcefiles ] [ classes] [ @argfiles ]

当您将文件上传到 putty 服务器并尝试使用 javac 编译多个没有任何特定关系(继承、实现、包类依赖性等)的文件时,它会采用以下文件名:您编写了(假设您使用了javac fileName.java)并开始对其进行处理。如果它在编译时发现与另一个文件的绑定(bind),它也会编译它。然而,在这种特定情况下( as we discussed on chat ),该程序的某些类文件与其他文件没有一定的关系,因此编译器忽略它们的边界。

因此,您应该像上面所示那样编写文件名、路径等。您还可以在 java docs 上找到更多详细信息。 。不要介意纠正我或添加一些东西,祝你有美好的一天!

关于java - Eclipse 和 WinSCP(Putty) 中的不同输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670352/

相关文章:

java - 有谁知道是否有一个eclipse插件可以指出pom.xml中不兼容的jar?

java - SAP JBOSS 的 jar 问题

java - Android Studio 如何让通知出现在手机上?

java - Spring boot 构建失败,无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]

Java Eclipse - 如何更改类路径?

c++ - 使用 Eclipse/CDT 调试 C++ 代码时更好地探索变量

java - Eclipse 中的 JPA 项目 : how to auto-generate entity classes from DB tables

Java 泛型反射 : Generic field type of subclass

java - 我可以在哪里托管我专有的 Maven Artifact ?

java - 使用 startActivityForResult 时应用程序崩溃