java——流(Stream)、文件(File)和IO

来源:互联网 发布:中国工具书网络出版 编辑:程序博客网 时间:2024/06/05 18:18
public class HelloWorld {public static void main(String[] args) throws IOException {// 读取控制台输入char c;String str;BufferedReader br = new BufferedReader(new InputStreamReader(System.in));// 读取字符do {c = (char) br.read();System.out.println(c);} while (c != 'q');do {str = br.readLine();System.out.println(str);} while (!str.equals("end"));}// 读写文件class fileStreamTest {public void fileStream() {try {byte[] bWrite = { 11, 12, 3, 24 };OutputStream os = new FileOutputStream("test.txt");for (int i = 0; i < bWrite.length; i++) {os.write(bWrite[i]);};os.close();InputStream is = new FileInputStream("test.txt");int size = is.available();for (int i = 0; i < size; i++) {System.out.println((char) is.read() + " ");};is.close();} catch (IOException e) {e.printStackTrace();}}}// 上面的程序首先创建文件test.txt,并把给定的数字以二进制形式写进改文件,同时输出到控制台上。// 以上代码由于是二进制写入,可能存在乱码,可以使用一下代码实力来解决乱码问题。class fileStreamTest2 {public void main(String[] args) throws IOException {File file = new File("a.txt");// 构建FileOutputStream对象,文件不存在会自动创建FileOutputStream fop = new FileOutputStream(file);// 构建OutputStreamWriter对象,参数可以指定编码,默认OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");// 写到缓存区writer.append("中文写入");// 换行writer.append("\r\n");writer.append("English");// 刷新缓冲区,写入到文件,如果下面已经没有写入的内容,直接close也会写入writer.close();// 关闭输出流,释放系统资源fop.close();// 构建FileInputStream对象FileInputStream fip = new FileInputStream(file);// 构建inputStreamReader对象,编码与写入相同InputStreamReader reader = new InputStreamReader(fip, "Utf-8");StringBuffer sb = new StringBuffer();while (reader.ready()) {sb.append((char) reader.read());// 转换char加到StringBuffer对象中};System.out.println(sb.toString());reader.close();// 关闭读取流fip.close();// 关闭输入流,释放系统资源}}// java中的目录// 创建目录// File类中有两个方法可以用俩创建文件夹// mkdir()方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径不存在,该文件夹不能被创建。// mkdirs()方法创建一个文件夹和他的所有父文件夹。// 下面的例子创建“/tmp/user/java/bin”文件夹class CreateDir {public void main( String[] args ){   String dirname = "tmp/user/java/bin";   File d = new File( dirname );   //现在创建目录   d.mkdirs();   }}//读取目录//一个目录其实就是一个File对象,它包含其他文件和文件夹。//如何创建一个File对象并且他是一个目录,那么调用isDirectory()方法会返回true。//可以通过调用该对象上的list()方法,来踢去它包含的文件和文件夹列表。//下面展示的例子说明如何使用list()方法来检查一个文件夹中包含的内容。    class DirList{    public void main( String[] args ){    String dirname = "/tmp";    File f = new File( dirname );    if( f.isDirectory() ){    System.out.println( "目录" + dirname );    String[] s = f.list();    for( int i = 0; i < s.length; i++ ){    File f1 = new File( dirname + "/" + s[ i ] );    if( f1.isDirectory() ){    System.out.println( s[i] + "是一个目录" );    }else{    System.out.println( s[i] + "是一个文件夹" );    }    }    }else{    System.out.println( dirname + "不是一个目录" );    }    }    }}

0 0
原创粉丝点击