⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yyrm9.html

📁 关于java学习的一些基本知识!
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0049)http://www.chinajavaworld.net/doc/yyrm/yyrm9.html -->
<HTML><HEAD><TITLE>Java开发者----第 九 章 Java输 入 输 出 操 作</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="Java,JDBC,EJB,Open Source,jdk,rmi" name=description>
<META 
content="Java, servlets, Java servlet, Javascript, ActiveX, VRML,&#10;        applet, applets, directory, news, jdbc, applications, &#10;        Java applications, Java developer, Java development, developer, &#10;        classes, Jars.com, Jars, intranet, Java applet, Javabeans, &#10;        Java products, JDK, Java development kit, java development environment, JIT,&#10;        JavaPlan, enterprise tools, JVM, Java Virtual Machine, Java resources, &#10;        SUN, CGI, Perl, database, network, html,&#10;        xml, dhtml, rating, ratings, review, jars, cgi, programming,&#10;        software review, software rating" 
name=Keywords>
<STYLE>.news {
	BACKGROUND: #007cd3; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.t {
	FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.t1 {
	COLOR: #007cd3; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.white {
	COLOR: #ffffff; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.red {
	COLOR: #ff0000; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
A {
	TEXT-DECORATION: underline
}
A:visited {
	COLOR: #0000ff
}
A:hover {
	COLOR: #ff6666; TEXT-DECORATION: none
}
.text {
	FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 160%
}
.text1 {
	COLOR: #000000; FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 130%; TEXT-DECORATION: none
}
.text1:visited {
	COLOR: #000000
}
.text1:hover {
	COLOR: #000000
}
.text2 {
	COLOR: #000000; FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 130%; TEXT-DECORATION: none
}
.text2:visited {
	COLOR: #000000
}
.text2:hover {
	COLOR: #000000
}
.text3 {
	FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 100%; TEXT-DECORATION: none
}
.large {
	FONT-SIZE: 14px; LINE-HEIGHT: 130%
}
</STYLE>

<SCRIPT language=JavaScript> var adscount = 0;    function cancelshift(){          promptstatus();     if(window.event.shiftKey){      addFavor();      window.event.returnValue = false;     }         }  function promptstatus(){     window.status='欢迎光临【Java开发者】http://www.ChinaJavaWorld.com';       }  function addFavor(){     window.external.addFavorite('http://www.ChinaJavaWorld.com','【Java开发者www.ChinaJavaWorld.com】');   }  function secueclick(){     promptstatus();     if (event.button==2||event.button==3){        addFavor();     }  }  function helpme(){     cancelshift();     if (adscount++<1){         alert('请点击广告。谢谢您支持本网站继续发展!');         window.event.returnValue = false;     }     else{        adscount = 0;     }          }</SCRIPT>

<META content="MSHTML 5.00.3700.6699" name=GENERATOR></HEAD>
<BODY onmousemove=promptstatus();>
<CENTER><!--start head -->
<SCRIPT src="yyrm9.files/head1.js"></SCRIPT>

<SCRIPT src="yyrm9.files/ads.js"></SCRIPT>

<SCRIPT src="yyrm9.files/head2.js"></SCRIPT>
<!--end head --><!--start first table -->
<TABLE border=0 width="80%">
  <TBODY>
  <TR>
    <TD vAlign=top width="100%">
      <TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
        <TBODY>
        <TR>
          <TD class=white width="100%"></TD>
        <TR></TR></TBODY></TABLE>
      <TABLE border=1 cellPadding=1 cellSpacing=0 width="100%">
        <TBODY>
        <TR>
          <TD bgColor=#f0f0f0 borderColor=#ffffff class=t1 noWrap 
            width="50%"><IMG height=12 src="yyrm9.files/yellow_dot.gif" 
            width=12>Java语言入门(9) </TD>
          <TD bgColor=#f0f0f0 borderColor=#ffffff class=t1 noWrap 
            width="50%"><IMG height=12 src="yyrm9.files/blue_dot.gif" 
            width=12>作者:袁小春 </TD>
        <TR>
        <TR>
          <TD bgColor=#f0f0f0 borderColor=#ffffff class=t colSpan=2 
width="100%">
            <H1 align=center>第 九 章 Java输 入 输 出 操 作 </H1>
            <H2 align=center>9.1 Java 输 入 输 出 流 </H2>
            <P>所 有 的 程 序 语 言 都 提 ?copy; 与 本 机 文 件 系 统 交 互 的 方式;Java也 不 例 外。 我 们 
            将 看 看Java是 怎 样 处 理 标 准 文 件 输 入输 出 的(包 括stdin,stout,stderr)。 当 你 在 网 
            络 上 开 发 小 程 序 时,你 必 须 注 意 直 接 文 件 输 入 输 出 是 不 安 全 因 素 的 关 键。 大多 数 用 
            户 设 置 他 们 的 浏 览 器, 可 让 你 自 由 的 访 问 他 们 的文 件 系 统, 但 有 ?copy; 不 让 你 访 
            问。 当 然, 如 果 你 开 发 你内 部 的 应 用 程 序, 你 也 许 需 要 直 接 访 问 文 件。 </P>
            <P>标 准 输 入 输 出 Unix的 用 户, 或 其 他 基 于 命 令 行 系 统 的 用户(如DOS), 都 知 道 标 准 
            输 入 输 出 的 含 义。 标 准 输 入 文 件 是键 盘, 标 准 输 出 文 件 是 你 的 终 端 屏 幕。 标 准 错 误 
            输 出 文 件也 指 向 屏 幕, 如 果 有 必 要, 它 也 可 以 指 向 另 一 个 文 件 以 便和 正 常 输 出 区 分。 
            </P>
            <P>系 统 类 Java通 过 系 统 类 达 到 访 问 标 准 输 入 输 出 的 功 能。上 面 提 到 的 三 个 文 件 在 
            这 个 系 统 类 中 实 现: Stdin System.in作为InputStream类 的 一 个 实 例 来 实 现stdin, 
            你 可 以 使 用read()和skip(long n)两 个 成 员 函 数。read()让 你 从 输 入 中 读 一 个 字 
            节,skip(long n)让 你 在 输 入 中 跳 过n个 字 节。 </P>
            <P>Stout System.out作 为PrintStream来 实 现stdout, 你 可 以 使 
            用print()和println()两个 成 员 函 数。 这 两 个 函 数 支 持Java的 任 意 基 本 类 型 作 为 参数。 
            </P>
            <P>Stderr System.err同stdout一 样 实 现stderr。 象System.out一 样,你 可 以 访 
            问PrintStream 成 员 函 数。 </P>
            <H2 align=center>9.2 标 准 输 入 输 出 例 子 </H2>
            <P>这 里 有 一 个 例 子, 功 能 象Unix里 的cat或type: </P>
            <P>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."); } } </P>
            <H2 align=center>9.3 普 通 输 入 输 出 类 </H2>
            <P>除 了 基 本 的 键 盘 输 入 和 屏 幕 输 出 外, 我 们 还 需 要 联 系文 件 的 输 入 输 出。 我 们 将 
            学 习 下 面 几 个 类: l FileInputStream l DataInputStream l 
            FileOutputStream l DataOutputStream </P>
            <P>作 为 参 考, 再 列 出 一 ?copy; 特 定 应 用 的 类: l PipedInputStream l 
            BufferedInputStream l PushBackInputStream l StreamTokenizer l 
            PipedOutputStream l BufferedOutputStream l RandomAccessFile </P>
            <P>我 们 不 在 此 讨 论 这 ?copy; 类, 但 你 可 以 在JAVA_HOME/src/java/io目录 里 查 看 
            每 个 类 的 成 员 函 数 定 义。 </P>
            <H2 align=center>9.4 文 件 </H2>
            <P>在 我 们 进 行 文 件 操 作 时, 需 要 知 道 一 ?copy; 关 于 文 件 的信 息。File类 提 ?copy; 
            了 一 ?copy; 成 员 函 数 来 操 纵 文 件 和 获得 一 ?copy; 文 件 的 信 息。 </P>
            <H3 align=center>9.4.1 创 建 一 个 新 的 文 件 对 象 </H3>
            <P>你 可 用 下 面 三 个 方 法 来 创 建 一 个 新 文 件 对 象: </P>
            <P>File myFile; myFile = new File("etc/motd"); </P>
            <P>或 </P>
            <P>myFile = new File("/etc","motd"); //more useful if the directory 
            or filename are variables </P>
            <P>或 </P>
            <P>File myDir = new file("/etc"); myFile = new File(myDir,"motd"); 
            </P>
            <P>这 三 种 方 法 取 决 于 你 访 问 文 件 的 方 式。 例 如, 如 果 你 在应 用 程 序 里 只 用 一 个 文 
            件, 第 一 种 创 建 文 件 的 结 构 是 最容 易 的。 但 如 果 你 在 同 一 目 录 里 打 开 数 个 文 件, 则 
            第 二 种或 第 三 种 结 构 更 好 一 ?copy;。 </P>
            <H3 align=center>9.4.2 文 件 测 试 和 使 用 </H3>
            <P>一 ?copy; 你 创 建 了 一 个 文 件 对 象, 你 便 可 以 使 用 以 下 成员 函 数 来 获 得 文 件 相 
            关 信 息: </P>
            <P>文 件 名 l String getName() l String getPath() l String 
            getAbslutePath() l String getParent() l boolean renameTo(File 
            newName) </P>
            <P>文 件 测 试 l boolean exists() l boolean canWrite() l boolean 
            canRead() l boolean isFile() l boolean isDirectory() l boolean 
            isAbsolute() </P>
            <P>一 般 文 件 信 息 l long lastModified() l long length() </P>
            <P>目 录 用 法 l boolean mkdir() l String[] list() </P>
            <H3 align=center>9.4.3 文 件 信 息 获 取 例 子 程 序</H3>
            <P>这 里 是 一 个 独 立 的 显 示 文 件 的 基 本 信 息 的 程 序, 文 件通 过 命 令 行 参 数 传 输: 
            </P>
            <P>import java.io.*; class fileInfo{ File fileToCheck; public static 
            void main(String args[]) throws IOException{ if (args.length&gt;0){ 
            for (int i=0;i&lt;args.length;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."); } 
            } } </P>
            <H2 align=center>9.5 输 入 流</H2>
            <P>InputStream SequenceInputStream FileInputStream PipedInputStream 
            ByteArrayInputStream FileterInputStream StringBufferInputStream </P>
            <P>DataInputStream LineNumberInputStream PushbackInputStream 
            BufferedInputStream 有 好 几 个 类 是 专 门 用 来 处 理 文 件 输 入 的。 下 面 是 文 件 输入 
            类 的 层 次 结 构: </P>
            <H3 align=center>9.5.1 FileInputStream 对 象 </H3>
            <P>FileInputStream典 型 地 表 示 一 种 顺 序 访 问 的 文 本 文 件。 通过 使 
            用FileInputStream你 可 以 访 问 文 件 的 一 个 字 节、 几 个 字 节或 整 个 文 件。 </P>
            <H3 align=center>9.5.2 打 开FileInputStream </H3>
            <P>为 一 个 文 件 打 开 输 入 流FileInputStream, 你 必 须 将 文 件 名或 文 件 对 象 传 送 给 
            结 构: </P>
            <P>FileInput Stream myFileStream; myFileStream = new FileInputStream 
            ( "/etc/motd"); </P>
            <P>你 还 可 以 象 下 边 这 样 从FileInputStream里 读 文 件 信 息: </P>
            <P>File myFile ; FileInputSteam myFileStream; myFile = new 
            File("/etc/motd"); myFileStream = new FileInputStream(myFile); </P>
            <P>一 ?copy;FileInputStream输 入 流 打 开, 你 就 可 以 从 里 面 读 取信 息 了。read()成 
            员 函 数 有 以 下 几 种 选 项: </P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -