Java IO基础总结

java

      Java中使用IO(输入输出)来读取和写入,读写设备上的数据、硬盘文件、内存、键盘......,根据数据的走向可分为输入流和输出流,这个走向是以内存为基准的,即往内存中读数据是输入流,从内存中往外写是输出流。

      根据处理的数据类型可分为字节流和字符流

  1.字节流可以处理所有数据类型的数据,在java中以Stream结尾

  2.字符流处理文本数据,在java中以Reader和Writer结尾。

       我们来看个IO流的详解图:

 

 IO流的本质是对字节和字符的处理,那么我们平时也是用来处理文件的,就从文件处理开始接触这方面的知识。

1.文件操作(创建文件和文件夹,查看文件)

		//创建一个文件路径

File file = new File("D:\\testData.txt");

if(file.exists()){

//得到文件路径

System.out.println(file.getAbsolutePath());

//得到文件大小

System.out.println("文件大小:"+file.length());

}

//创建文件和创建文件夹

File file1 = new File("d:\\iotest.txt");

if(!file1.exists())

{

try {

file1.createNewFile();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}else{

System.out.println("文件已存在");

}

//创建文件夹

File file2 = new File("d:\\testIO");

if(file2.isDirectory())

{

System.out.println("文件夹存在");

}else{

file2.mkdir();

}

//列出一个文件夹下的所有文件

File f = new File("d:\\testIO");

if(f.isDirectory())

{

File lists[] = f.listFiles();

for(int i=0;i<lists.length;i++)

{

System.out.println(lists[i].getName());

}

}

常用字节流FileInputStream和FileOutputStream:

FileInputStream:

FileInputStream fis = null;

try {

fis = new FileInputStream("D:\\testData.txt");

byte bytes[]=new byte[1024];

int n=0;

while((n=fis.read(bytes))!= -1){

String str = new String(bytes,0,n);

System.out.print(str);

}

} catch (Exception e) {

e.printStackTrace();

} finally{

try {

fis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

 

查看输出:

FileOutputStream:

FileOutputStream fos = null;

try {

fos = new FileOutputStream("D:\\testData.txt");

String str = "报效国家,舍生忘死";

byte bytes[] = str.getBytes();

fos.write(bytes);

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

fos.close();

} catch (Exception e2) {

e2.printStackTrace();

}

}

查看一下:

如果是续写文件,则可以加上参数:

字符流FileReader和FileWriter:

//字符流

//文件写出 输入流

FileReader freader = null;

//写入到文件 输出流

FileWriter fwriter = null;

try {

//创建输入对象

freader = new FileReader("d:\\testData.txt");

//创建输出对象

File f1 = new File("e:\\testData.txt");

if(!f1.exists()){

f1.createNewFile();

}

fwriter = new FileWriter(f1);

//读入到内存

char chars[] = new char[1024];

int n=0;

while((n=freader.read(chars))!= -1)

{

fwriter.write(chars);

//System.out.println(chars);

}

} catch (Exception e) {

e.printStackTrace();

// TODO: handle exception

}finally{

try{

freader.close();

fwriter.close();

}catch(Exception e){

e.printStackTrace();

}

}

//缓冲字符流 bufferedReader bufferedWriter

BufferedReader bfreader = null;

try {

FileReader freader = new FileReader("d:\\testData.txt");

bfreader = new BufferedReader(freader);

//循环读取

String s ="";

while((s=bfreader.readLine())!= null)

{

System.out.println(s);

}

} catch (Exception e) {

// TODO: handle exception

}

  

  

 

以上是 Java IO基础总结 的全部内容, 来源链接: utcz.com/z/392645.html

回到顶部