设为首页 加入收藏

TOP

2012年计算机二级Java输入输出操作学习教程
2014-11-03 12:45:09 】 浏览:5709
Tags:2012年 计算机 二级 Java 输入 输出 操作 学习教程

第 九 章 Java输入输出操作


9.1 Java 输入输出流


  所有的程序语言都提及与本机文件系统交互的方式;Java也不例外。我们将看看Java是怎样处理标准文件输入输出的(包 括stdin,stout,stderr)。当你在网络上开发小程序时,你必须注意直接文件输入输出是不安全因素的关键。大多数用户设置他们的浏览器,可让你自由的访问他们的文件系统,但有的不让你访问。当然,如果你开发你内部的应用程序,你也许需要直接访问文件。


  标准输入输出Unix的用户,或其他基于命令行系统的用户(如DOS),都知道标准输入输出的含义。标准输入文件是键盘,标准输出文件是你的终端屏幕。标准错误输出文件也指向屏幕,如果有必要,它也可以指向另一个文件以便和正常输出区分。


  系统类Java通过系统类达到访问标准输入输出的功能。上面提到的三个文件在 这个系统类中实现: Stdin System.in作为InputStream类的一个实例来实现stdin, 你可以使用read()和skip(long n)两个成员函数。read()让你从输入中读一个字节,skip(long n)让你在输入中跳过n个字节。


  Stout System.out作为PrintStream来实现stdout,你可以使用print()和println()两个成员函数。 这两个函数支持Java的任意基本类型作为参数。


  Stderr System.err同stdout一样实现stderr。 象System.out一样,你可以访问PrintStream成员函数。


9.2 标准输入输出例子


  import java.io.* class myCat{


  public void main(String args[]) throws IOException{


  int b;


  int count = 0;


  while ((b = System.in.read()) != -1){


  count++;


  System.out.print((char)b);


  }


  System.out.println(); //blank line System.err.println("counted"+count+"total bytes.");


  }


  }


9.3 普通输入输出类


  除了基本的键盘输入和屏幕输出外,我们还需要联系文件的输入输出。我们将学习下面几个类:


  FileInputStream ,DataInputStream,FileOutputStream ,DataOutputStream。


  作为参考,再列出特定应用的类:


  PipedInputStream,BufferedInputStream,PushBackInputStream,StreamTokenizer,PipedOutputStream,BufferedOutputStream,RandomAccessFile


  我们不在此讨论这些类,但你可以在JAVA_HOME/src/java/io目录里查看每个类的成员函数定义。


9.4 文件


  在我们进行文件操作时, 需要知道关于文件的信息。File类提到了成员函数来操纵文件和获得文件的信息。


  9.4.1 创建一个新的文件对象


  你可用下面三个方法来创建一个新文件对象:


  File myFile; myFile = new File("etc/motd");


  或


  myFile = new File("/etc","motd");


  //more useful if the directory or filename are variables


  或


  File myDir = new file("/etc");


  myFile = new File(myDir,"motd");


  这三种方法取决于你访问文件的方式。例如,如果你在应用程序里只用一个文 件,第一种创建文件的结构是最容易的。 但如果你在同一目录里打开数个文件, 则第二种或第三种结构更好。


  9.4.2 文件测试和使用


  创建了一个文件对象, 你便可以使用以下成员函数来获得文件相关信息:


  文件名:String getName() , 路径:String getPath() 绝对路径:String getAbslutePath() ;重命名:boolean renameTo(File newName) 。


  文件测试:boolean exists(),boolean canWrite(),boolean canRead() ,boolean isFile() ,boolean isDirectory() ,boolean isAbsolute()。


  一般文件信息:long lastModified() ,long length()。


  目录用法:boolean mkdir() ,String[] list()。  


  9.4.3 文件信息获取例子程序


  这里是一个独立的显示文件的基本信息的程序,文件通过命令行参数传输:


  import java.io.*;


  class fileInfo{


  File fileToCheck;


  public static void main(String args[]) throws IOException{


  if (args.length>0){


  for (int i=0;i   fileToCheck = new File(args[i]);


  info(fileToCheck);


  }


  }


  else{


  System.out.println("No file given.");


  }


  }


  public void info (File f) throws IOException{


  System.out.println("Name: "+f.getName());


  System.out.println("Path: "=f.getPath());


  if (f.exists()) {


  System.out.println("File exists.");


  System.out.print((f.canRead() " and is Readable":""));


  System.out.print((f.cnaWrite() " and is Writeable":""));


  System.out.println(".");


  System.out.println("File is " + f.lenght() = " bytes.");


  }


  else {


  System.out.println("File does not exist.");


  }


  }


  }


  相关推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2012年计算机二级Java设置Swing界.. 下一篇2012年计算机二级Java线程例子学..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目