黑马程序员---Java学习笔记之io2
2013-12-25 05:41
585 查看
1、键盘输入一行,之后在控制台输出,知道遇到“over”
2、使用字符转换流类进行读取一行字符串,然后遇到“over”之后,停止输入。
3、键盘输入最常见的写法:
BuffredReader br = new BuffredReader(new InputStreamReader(System.in));
4、什么时候会使用转换流?当涉及到字符与字节之间的转换时,或者是涉及到文件编码问题时(因为转换流中含有相应制定编码表的构造函数)。
5、将一个文件输出到控制台上
6、System.in和System.out分别是标准输入路和标准输出流,但是他们可以被System类中的setIn()方法和setOut()方法重定向。
7、Java异常日志和系统日志的创建。
8、File对象,弥补流的不足。流只能操作数据,而不能获取封装了数据的文件的属性信息。
9、File类中的createNewFile()方法只有在指定路径下没有该文件时才会去创建文件,有就不创建。这点跟输出流很不一样。
10、只有一个文件对象,没有具体的文件时,依旧可以通过File类的getPath和getAbsolutePath获取相对路径或绝对路径。
11、输出某个目录下,以某个词为后缀的的所有文件
12、File类中的list()方法。是返回一个字符数组,该数组中包括当前File对象所指的目录下的所有文件名及文件夹名(包括隐藏的)。如果当前对象所指的并非目录,而是文件,则该方法返回值为null。
13、某函数在自己函数体中再次调用自己,称为递归。使用递归的时候应注意递归层数和递归条件。
14.递归的应用,打印层次性的目录结构:
import java.io.IOException; import java.io.InputStream; public class SystemInDemo { /** * @param args */ public static void main(String[] args)throws IOException { // TODO Auto-generated method stub InputStream in = System.in; StringBuilder sb = new StringBuilder(); String end = sb.toString(); int temp; while(!"over".equals(end)) { if( (temp = in.read())!='\r') { sb.append((char)temp); } else { in.read(); end = sb.toString(); System.out.println(end); sb.delete(0,sb.length()); } } } }
2、使用字符转换流类进行读取一行字符串,然后遇到“over”之后,停止输入。
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class InputStreamReaderDemo { /** * @param args */ public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub InputStream in = System.in; InputStreamReader is = new InputStreamReader(in); BufferedReader br = new BufferedReader(is); String line = null; while( (line = br.readLine()) != null ) { if("over".equals(line) ) break; System.out.println(line); } } }
3、键盘输入最常见的写法:
BuffredReader br = new BuffredReader(new InputStreamReader(System.in));
4、什么时候会使用转换流?当涉及到字符与字节之间的转换时,或者是涉及到文件编码问题时(因为转换流中含有相应制定编码表的构造函数)。
5、将一个文件输出到控制台上
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.IOException; import java.io.OutputStreamWriter; public class PrintDemo { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new FileReader("F:\\practice\\src\\com\\day20\\PrintDemo.java")); BufferedWriter bos = new BufferedWriter(new OutputStreamWriter(System.out)); String line = null; while( (line = br.readLine()) != null ) { bos.write(line); bos.flush(); bos.newLine(); } br.close(); bos.close(); } }
6、System.in和System.out分别是标准输入路和标准输出流,但是他们可以被System类中的setIn()方法和setOut()方法重定向。
7、Java异常日志和系统日志的创建。
8、File对象,弥补流的不足。流只能操作数据,而不能获取封装了数据的文件的属性信息。
9、File类中的createNewFile()方法只有在指定路径下没有该文件时才会去创建文件,有就不创建。这点跟输出流很不一样。
10、只有一个文件对象,没有具体的文件时,依旧可以通过File类的getPath和getAbsolutePath获取相对路径或绝对路径。
11、输出某个目录下,以某个词为后缀的的所有文件
File f = new File("F:\\"); String[] names = f.list(new FilenameFilter(){ public boolean accept(File dir,String name) { return name.endsWith(".txt"); } } ); for( String name : names ) { System.out.println(name); }
12、File类中的list()方法。是返回一个字符数组,该数组中包括当前File对象所指的目录下的所有文件名及文件夹名(包括隐藏的)。如果当前对象所指的并非目录,而是文件,则该方法返回值为null。
13、某函数在自己函数体中再次调用自己,称为递归。使用递归的时候应注意递归层数和递归条件。
14.递归的应用,打印层次性的目录结构:
import java.io.File; public class FileTraverseDemo { public static void main(String[] args) { File file = new File("F:\\javaworkplace"); int level = 0; fileTraverse(file,0); } public static void fileTraverse(File dir,int level) { File[] files = dir.listFiles(); System.out.println(printBlank(level)+dir.getName()); level++; for( File file : files ) { if( file.isDirectory() ) { fileTraverse(file,level); } else { System.out.println(printBlank(level)+file.getName()); } } } private static String printBlank(int level) { StringBuilder sb = new StringBuilder(); for( int i = 0; i < level; i++ ) sb.append(" "); sb.append("|---"); return sb.toString(); } }15、删除一个带文件的目录
import java.io.File; public class FileDeleteDemo { public static void main(String[] args) { File file = new File("F:\\软件编程\\其他"); fileDelete(file); } public static void fileDelete(File dir) { File[] files = dir.listFiles(); for( File file : files ) { if( file.isDirectory() ) fileDelete(file); else System.out.println(file.toString()+file.delete()); } System.out.println(dir.toString()+dir.delete()); } }16、创建一个文件列表
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class JavaListText { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File file = new File("F:\\javaworkplace"); BufferedWriter br = new BufferedWriter(new FileWriter("F:\\javaListText.txt")); List<String> list = new ArrayList<String>(); javaListText(file,list); for( String str : list ) { br.write(str); br.newLine(); br.flush(); } br.close(); } public static void javaListText(File dir,List<String> list) throws IOException { File[] files = dir.listFiles(); for(File file : files) { if( file.isDirectory() ) javaListText(file,list); else { if(file.getName().endsWith(".java")) { String temp = file.getAbsolutePath(); list.add(temp); } } } } }
相关文章推荐
- 黑马程序员---java学习笔记之IO
- 黑马程序员---Java基础学习笔记(IO-前篇)
- 黑马程序员-javaIO学习笔记
- 黑马程序员学习笔记六——java.IO小细节或许影响全局。
- 黑马程序员---java IO-字符流 学习笔记
- 黑马程序员-java学习笔记-IO
- 黑马程序员________Java中IO技术字节流字符流的应用及File类学习笔记
- 黑马程序员学习笔记之七(Java IO操作)
- 黑马程序员---Java基础学习笔记(IO-后篇)
- 黑马程序员 java学习笔记 Day12:java中的IO整理
- 黑马程序员---Java基础学习笔记IO
- 黑马程序员---Java IO 学习笔记
- 黑马程序员——JAVA学习笔记---IO处理方式
- 黑马程序员——JAVA学习笔记十(IO)
- 黑马程序员---Java基础学习笔记IO-1
- 黑马程序员——Java学习笔记之⑤——“IO输入与输出”
- 黑马程序员---Java基础学习笔记IO-2
- 黑马程序员学习笔记JAVA高级视频 IO输入输出字符流之Writer类
- 黑马程序员-javaIO学习笔记2
- 黑马程序员_JavaIO学习笔记