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

📄 serviceshell.java

📁 移动Agent编程工具Naplet
💻 JAVA
字号:
package serviceImpl;

import java.io.*;
import java.util.*;

public class ServiceShell
   extends naplet.resource.PrivilegedService
{

      /**
       * Like PipedReader, ServiceReader pipe provides two ways to read
       * characters: read() for a single character and read(buf, offset, 
       * length) for up to <code>length</code> characters of data
       *
       * Similarly, ServiceWriter pipe privides two ways to write characters:
       * write(char c) for a single character and
       * write(char buf[], int offset, int length) for a number of characters.
       *
       */
      public void run()
      {
	 for ( ; ; )
	 {
	    System.out.println( "Service Shell>" );
	    String cmd = null;

	    try
	    {
	       int ch;
	       int i = 0;
	       char[] chars = new char[128];

	       while ( ( ch = inReader.read() ) != -1 )
	       {
		  chars[i++] = ( char ) ch;
	       }
	       cmd = new String( chars, 0, i );
	    }
	    catch ( IOException ioe )
	    {
	       System.out.println( ioe.getMessage() );
	    }

	    String[] lines = rexec( cmd );

	    try
	    {
	       try
	       {
		  for ( int i = 0; i < lines.length; i++ )
		  {
		     char[] file = lines[i].toCharArray();

		     for ( int j = 0; j < file.length; j++ )
		     {
			outWriter.write( file[j] );

		     }
		     outWriter.write( '\t' );
		  }
	       }
	       finally
	       {
		  outWriter.close();
	       }
	    }
	    catch ( IOException ioe )
	    {}
	 }
      }

      private String[] rexec( String cmd )
      {

	 List lines = new ArrayList();
	 String line;

	 try
	 {
	    Process child = Runtime.getRuntime().exec( cmd );
	    InputStream lsOut = child.getInputStream();
	    InputStreamReader r = new InputStreamReader( lsOut );
	    BufferedReader in = new BufferedReader( r );

	    while ( ( line = in.readLine() ) != null )
	    {
	       lines.add( line );
	    }
	 }
	 catch ( Exception e )
	 {
	    e.printStackTrace();
	 }
	 return ( String[] ) lines.toArray( new String[]
	    {} );

      }
}

⌨️ 快捷键说明

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