Работа с файлами и потоками
Список директории
public class MyDirList {
  public static FilenameFilter 
  filter(final String afn) {
    // Создание анонимного внутреннего класса:
    return new FilenameFilter() {
      String fn = afn;
      public boolean accept(File dir, String n) {
        // Получаем информацию о пути:
        String f = new File(n).getName();
        return f.indexOf(fn) != -1;
      }
    }; // Конец анонимного внутреннего класса
  }
  
  public static void main(String[] args) {
    File path = new File(".");
	
    String[] list;
    if(args.length == 0)
      list = path.list();
    else 
      list = path.list(filter(args[0]));
	  
    Arrays.sort(list, new AlphabeticComparator());
    for(int i = 0; i < list.length; i++)
      System.out.println(list[i]);
  }
} 
Чтение из текстового файла
public class Z_File {
	
	public static StringBuffer readHTML(InputStreamReader isReader) 
	throws IOException
	{
	    StringBuffer sb = new StringBuffer();
	    sb.append("

"); try { for(;;) { String str = Z_File.getLine(isReader); if(str == null) { break; } if(str.trim().length() == 0) { sb.append("

"); } else { sb.append(str); sb.append('\n'); } } } catch( java.io.EOFException eof ) { } return sb; } public static String getLine(InputStreamReader isReader) throws java.io.IOException { StringBuffer sb = new StringBuffer(); for(;;) { try { int result = isReader.read(); if ( result == -1 ) { if( sb.length() == 0 ) return null; else break; } char ch = (char) result; if( ch == '\r' ) continue; if( ch == '\n' ) break; sb.append(ch); } catch( java.io.EOFException eof ) { break; } } return sb.toString(); } public static void main(String[] args) { fs = new java.io.FileInputStream(sFileName); InputStreamReader isReader = new InputStreamReader( fs,"windows-1251" ); System.out.println(Z_File.readHTML(isReader)); fs.Close(); } }

Запись в выходной поток сервлета
public class FileServlet extends HttpServlet
{
    protected void doGet(
		HttpServletRequest request, 
		HttpServletResponse response) 
				throws ServletException, IOException
    {
            ServletOutputStream sOutStream = response.getOutputStream();
            FileInputStream fis = new FileInputStream( file );
            BufferedInputStream bis = new BufferedInputStream( fis );
            BufferedOutputStream bos = new BufferedOutputStream(sOutStream);
            int length = fis.available();
            byte[] buff = new byte[length];
            response.setContentLength( length );
            int bytesRead;
            while(-1 != (bytesRead = bis.read(buff, 0, buff.length)))
            {
                bos.write(buff, 0, bytesRead);
            }
            if( bis != null ) bis.close();
            if( bos != null ) bos.close();

            if( sOutStream != null )
            {
                sOutStream.flush();
                sOutStream.close();
            }
	}
	
}
Чтение из стандартного ввода
public class Echo {
  public static void main(String[] args)
  throws IOException {
    BufferedReader in =
        new BufferedReader(
          new InputStreamReader(System.in));
    String s;
    while((s = in.readLine()).length() != 0)
      System.out.println(s);
    // Пустая строка прерывает выполнение программы
  }
} 
Перенаправление стандартного ввода/вывода
class Redirecting {
  // Исключение выбрасывается на консоль:
  public static void main(String[] args) 
  throws IOException {
    BufferedInputStream in = 
      new BufferedInputStream(
        new FileInputStream(
          "Redirecting.java"));
    PrintStream out =
      new PrintStream(
        new BufferedOutputStream(
          new FileOutputStream("test.out")));
    System.setIn(in);
    System.setOut(out);
    System.setErr(out);

    BufferedReader br = 
      new BufferedReader(
        new InputStreamReader(System.in));
    String s;
    while((s = br.readLine()) != null)
      System.out.println(s);
    out.close(); // Помните об этом!
  }
}
Hosted by uCoz