Работа с файлами и потоками |
Список директории |
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(" |
Запись в выходной поток сервлета |
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(); // Помните об этом! } } |