Ho cercato di modificare il meno possibile. Le parti alterate le ho contrassegnate con un commento. In effetti c'era solo qualche piccola imperfezione che, ovviamente, non era legata all'utilizzo degli argomento da linea di comando. Prova a dare un'occhiata:

Server
codice:
package server5;
import java.net.*;
import java.io.*;

public class Server {

    public static void main(String[] args)
    {
        Socket client=null;
        ServerSocket server=null;

        try
        {
            server = new ServerSocket(11111);
        }
        catch(IOException e)
        {
            e.printStackTrace();
            //>> se non riusciamo a creare il server <<
            //>> è inutile continuare <<
            return;
        }
        while(true)
        {
            System.out.println("Attesa Connessione...");
            try
            {
                client = server.accept();
            }
            catch(IOException e)
            {
                System.out.println("connessione fallita");
                System.exit(1);
            }

            System.out.println("Connessione da" + client);
            BufferedReader is = null;
            PrintStream os = null;

            try
            {
                is = new BufferedReader(new InputStreamReader(client.getInputStream()));
                BufferedOutputStream ob = new BufferedOutputStream(client.getOutputStream());
                os = new PrintStream(ob,false);//per stampare il file
                String n = new String(is.readLine());

                System.out.println("File: " + n);

                //>> readline di DataInputStream è deprecato <<
                //>> utilizzo BufferedReader<<
                FileReader file = new FileReader(n);
                BufferedReader ifile = new BufferedReader(file);
                String r=null;

                while((r = ifile.readLine())!=null)
                {
                    os.println(r);
                }

                os.flush();
                os.close();
                is.close();
                client.close();
            }
            catch(FileNotFoundException e)
            {
                System.out.println("File non trovato");
                os.println("File non trovato");
                os.flush();
                os.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }

    }

}
Client
codice:
package client4;
import java.io.*;
import java.net.*;

/**
 *
 * @author Alessandro
 */
public class Client4 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        Socket s=null;
        BufferedReader is=null;
        PrintStream os=null;

        //controllo argomenti
        //>> lo faccio prima del resto però <<
        if(args.length==0)
        {
            System.out.println("Manca argomento");
            return;
        }

        try
        {
            s = new Socket("localhost",11111);
            is = new BufferedReader(new InputStreamReader(s.getInputStream()));
            os = new PrintStream(new BufferedOutputStream(s.getOutputStream()));

        }
        catch(IOException e)
        {
            System.out.println(e.getMessage());
            System.exit(1);
        }
    
        //>> Perchè li chiudi se dopo li utilizzi? <<
        /*
        try
        {
            is.close();
            s.close();
        }
        catch(IOException e)
        {
            System.out.println(e.getMessage());
        }
        */

        //invio messaggio
        System.out.println("Sending..." + args[0]);
        os.println(args[0]);
        os.flush();

        //stampa risposta dal server
        System.out.println("Attesa risposta dal server");
        String line=null;
        try
        {
            while((line=is.readLine())!=null)
            {
                System.out.println("Messaggio: "+ line);
            }

            is.close();
            os.close();
            s.close();
        }
        catch(IOException e)
        {
            System.out.println(e.getMessage());
        }

    }
}