IO输入与输出1

原创 2011年01月23日 00:09:00

                                               IO输入与输出(一)

1.键盘被当做一种特殊的输入文件使用,I代表的是键盘,显示器被当做一种特殊的输出文件使用,即O代表的是显示器;
2.file类io包中唯一代表磁盘文件本身信息的的类,而不是文件中的内容,比如说文件的创建时间,而且定义了一些与平台无关的方法来操作文件;

3.file中定义了一些常用方法,不如查看文件名称,文件路径等等,下面有一个例子(判断某个文件是否存在,如果存在就将它删除,如果不存在就将它删除)。

package com.hjw;

import java.io.File;
import java.io.IOException;

public class FileTest {

 /**判断一个文件是否存在,如果存在就删除,
  * 如果不存在就创建此文件
  * @param args
  */
 public static void main(String[] args) {
          fileTest();
 }
    private static void fileTest(){
       File f=new File("aa//a.txt");
       if(f.exists()){
          f.delete();
       }else{
        try { 
          f.createNewFile();
   } catch (IOException e) {
    e.printStackTrace();
   }
     }
     System.out.println("fileName:"+f.getName());
         //得到文件的相对路径
     System.out.println("filepath:"+f.getPath());
     //得到绝对路径下的文件
     System.out.println("AbsoluteFile:"+f.getAbsoluteFile());
     //得到文件的上一级
     System.out.println("parent:"+f.getParent());
     //得到文件上一级的相对路径
     System.out.println("parentFile:"+f.getParentFile());
     System.out.println("AbsolutePath:"+f.getAbsolutePath());
     System.out.println(f.exists()? "exist":"not exist");
     System.out.println(f.canRead()? "read":"not read");
     System.out.println(f.canWrite()? "write":"not write");
     //判断f是否是一个目录
     System.out.println(f.isDirectory()? "directory":"not directory");
     System.out.println();
    }
}
4.java中有个RandomAccessFile类

a)RandomAccessFile类提供了众多的文件访问方法;

b)RandomAccessFile类支持随机访问方式,从指示器指示的当前位置开始;

c)RandomAccessFile类在读写等长记录格式的文件时有很大的优势;

d)RandomAccessFile类仅限于操作文件,不能访问其他的io设备,
e)RandomAccessFile类两种构造方法:
new RandomAccessFile("f","rw");//读写方式
new RandomAccessFile("f","r");//只读方式

例子:(通过RandomAccessFile类对文件进行读写操作)

public static void main(String[] args) {
  // 定义三条记录
  Employee e1 = new Employee("zhangsan", 23);
  Employee e2 = new Employee("lisi", 22);
  Employee e3 = new Employee("wangwu", 21);
  try {
   // 把内容通过randomAccessFile写入到文件中
   RandomAccessFile ra = new RandomAccessFile("employee.txt", "rw");
   ra.write(e1.getName().getBytes());
   ra.writeByte(e1.getAge());
   ra.write(e2.getName().getBytes());
   ra.writeByte(e2.getAge());
   ra.write(e3.getName().getBytes());
   ra.writeByte(e3.getAge());
   ra.close();
   // 把文件读出来
   byte[] bt = new byte[8];
   int len = 0;
   String strName = null;
   RandomAccessFile raf = new RandomAccessFile("employee.txt", "r");
   

   raf.skipBytes(9);
   len = raf.read(bt);
   strName = new String(bt, 0, len);
   System.out.println(strName + ":" + raf.read());

   raf.seek(0);
   len = raf.read(bt);
   strName = new String(bt, 0, len);
   System.out.println(strName + ":" + raf.read());

   raf.skipBytes(9);
   len = raf.read(bt);
   strName = new String(bt, 0, len);
   System.out.println(strName + ":" + raf.read());
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

 }

相关文章推荐

java高级02--IO输入与输出--要点总结1

java高级2 IO输入与输出 1.RandomAccessFile类提供了众多的文件访问方法,支持“随机访问”方式。随机读写等长 记录格式的文件时有很大优势。 2.文件时数据的静态存储形式,而...

Java 输入输出IO的学习【1】

输入输出时相对于内存而言的。当需要写入内存的时候就是 输入(读),当从内存往外写的时候就是输出(写)。一般数据的读写需要通过内存的中介进行运算。按数据操作分为字节流和字符流;按流方向分为输入流和输出流...

Java.io包中的流的输入输出详解1(字节流)

由于流在java中的重要性,和本身自己在流这方面存在混乱的原因。我将会对流进行一次很清晰的总结和记录下来我的学习过程。第一次开始了发表博客,我很高兴可以讲自己的理解和大家进行分享。有不好和不对的地方请...

我与python约个会:29.企业级开发进阶1:文件输入输出流[IO操作]

农历五月初一 宜声明变量"a",提交代码;忌打DOTA,提交BUG 适宜方位:坐西朝东 多饮水、鲜奶,女神亲近指数较高 进入正题 本节内容如下: 什么是IO文件内容操作 ...

黑马程序员——Java基础——IO输入与输出_1

IO流作用: 利用Java语言中的IO流技术处理设备上的数据(硬盘上的文件,内存中驻留的数据) 分类: 按流向: 输入流 输出流 按数据: 字节流 字符流 抽象基类: 字符流:Reader、Wri...

java-IO流1(输入字节流)

IO流分类:如果是按照数据的流向划分: 输入流 输出流 判断使用输入流还是输出流的依据:以当前程序作为参照物观察数据是流入还是流出,如果数据流出则使用输出流,如果是数据流入,则使用输入流...

【学习笔记】Java IO流(1)--字符输出流FileWriter

FileWriter类———–Public class FileWriter extends OutputStream构造方法特点:没有空参构成方法 FileWriter(File file) ...

IO流--输入输出

  • 2014年03月16日 18:02
  • 303KB
  • 下载

输入输出(IO)管理

  • 2016年08月28日 16:03
  • 972KB
  • 下载

【C++ Primer】【学习笔记】【第八章】标准IO库之:文件的输入和输出

一、文件流对象的使用 1、fstream头文件定义了三种文件IO的类型: 类型 说明 ifstream 从istream派生而来,提供...
  • jay_yin
  • jay_yin
  • 2015年01月19日 23:51
  • 267
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IO输入与输出1
举报原因:
原因补充:

(最多只允许输入30个字)