`
王俊18701460384
  • 浏览: 15880 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java IO应用

    博客分类:
  • java
阅读更多

package com.sinosoft.io;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Date;

public class IOTest {
 /*
  * 复制文件
  * @param srcPath 原文件路径
  * @param destPath 目的文件
  * */
 public static void copyForFile(String srcPath,String descPath){
  BufferedInputStream bis = null;
  BufferedOutputStream bos = null;
  try{
   bis = new BufferedInputStream(new FileInputStream(srcPath));
   bos = new BufferedOutputStream(new FileOutputStream(descPath));
   byte[] b = new byte[1024];
   int size = -1;
   //循环读
   while((size = bis.read(b))!= -1){
    bos.write(b, 0, size);
   }
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   try{
    if(bis != null){bis.close();}
    if(bos != null){bos.close();}
   }catch(Exception e){
    e.printStackTrace();
   }
  }
 }
 /*
  * 读文件
  * @param srcPath 原文件路径
  * */
 public static void readerForFile(String srcFile){
  BufferedReader br = null;
  try{
   br = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile),"GBK"));
   //一行一行的读
   String line;
   while((line = br.readLine())!= null){
    System.out.println(line);
   }
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   try{
    if(br!=null){br.close();}
   }catch(Exception e){
    e.printStackTrace();
   }
   
  }
 }
 /*
  * 读取URL
  * @param urlStr url,需加http://
  * */
 public static void readerForURLToFile(String urlStr){
  BufferedReader br = null;
  StringBuffer sb = null;
  try{
   URL url = new URL(urlStr);
   br = new BufferedReader(new InputStreamReader(url.openStream(),"GBK"));
   sb = new StringBuffer();
   String str = null;
   while((str=br.readLine())!=null){
    sb.append(str).append("\r\n");
   }
   System.out.println(sb);
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   try{
    if(br!=null){br.close();}
   }catch(Exception e){
    e.printStackTrace();
   }
   
  }
 }
 /*
  * 写文件 追加模式
  * @param srcFile 原文件
  * */
 public static void writerForFileAddModel(String srcFile){
  FileWriter fw = null;
  try{
   fw = new FileWriter(srcFile,true);
   fw.write("\r\n");
   fw.write("java IO应用");
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   try{
    if(fw!=null){fw.close();}
   }catch(Exception e){
    e.printStackTrace();
   }
   
  }
 }
 /*
  * 获取所有文件夹下所有的文件名字
  * @param listFile 文件
  * */
 public static void getAllFileNameForFolder(String listFile){
  File file = new File(listFile);
  System.out.println("是目录吗?"+file.isDirectory());
  System.out.println("是文件吗?"+file.isFile());
  System.out.println("最后修改时间:"+new Date(file.lastModified()));
  System.out.println("路径:"+file.getPath());
  System.out.println("文件路径:"+file.getAbsolutePath());
  System.out.println("文件大小:"+file.length()+"字节");
  System.out.println("是否可写:"+file.canWrite());
  File[] array = file.listFiles();
  for(int i=0;i<array.length;i++){
   if(array[i].isFile()){
    System.out.println("文件名:"+array[i].getName()+
      "文件路径:"+array[i].getParent()+
   "文件全路径:"+array[i].getPath());
   }
  }
 }
 /*
  * 根据名字删除文件
  * @param fileName  文件名路径
  * */
 public static boolean deleteForFileName(String fileDir){
  boolean flag = false;
  File file = new File(fileDir);
  if(file.isFile() && file.exists()){
   file.delete();
   flag = true;
  }
  return flag;
 }
 /**
   * 重命名文件
   * @param newFileName 文件名
   */
  public static void renameForFileName(String newFileName){
   File afile = new File(newFileName);
   File bfile = new File("c:/1.txt");
   afile.renameTo(bfile);
  }
  /**
   * 删除文件夹,包括子文件夹,文件.包括隐藏文件
   * @param fileDir 文件夹路径
   */
  public static void deleteForALLFile(File fileDir){
   if(fileDir.exists()){ //是否存在
    if(fileDir.isDirectory()){//是否是目录
     File files[] = fileDir.listFiles();
         for(int i=0;i<files.length;i++){
            deleteForALLFile(files[i]);
      }
    }else{
     fileDir.delete();
    }
   }else{
    System.out.println("不存在目录:"+fileDir.getPath());
   }
  }
  /**
   *  根据后缀名删除文件
   * @param file 文件名
   */
  public static void deleteForFileSuffix(String fileDir){
   // 删除单一文件
   String aFile = fileDir;
   //根据字符返回最后一处出现的索引
   int suffixSymbol = aFile.lastIndexOf(".");
   String suffix =aFile.substring(suffixSymbol+1);
   System.out.println(suffix);
   File file = new File(aFile);
   if(suffix.equalsIgnoreCase("txt")){
    file.delete();
   }
  }  
  /**
   * 计算文件个数
   * @param fileDir 文件
   */
  public static void numForFile(String fileDir){
   File file = new File(fileDir);
   File []arrayFile =file.listFiles();
   System.out.println(arrayFile.length);
  }

 public static void main(String[] args) {
  copyForFile("F:\\密码.txt","F:\\密码1.txt");
  readerForFile("F:\\密码.txt");
  readerForURLToFile("http://www.baidu.com");
  writerForFileAddModel("F:\\密码.txt");
  getAllFileNameForFolder("F:\\");
  renameForFileName("F:\\密码.txt");
  File  file= new File("F:\\");
  deleteForALLFile(file);
  deleteForFileSuffix(".txt");
  numForFile("F:\\");

 }

}

分享到:
评论

相关推荐

    提高Java IO操作的性能

    提高Java IO操作的性能 虽然抱怨Java程序性能不佳的呼声由来已久,但实际上,如果开发者在整个开发周期内都能够关注性能问题,Java程序完全可以和C/C++程序一样快。本文分析了Java IO应用中一些常见的性能问题。

    Java IO应届生培训讲义

    综上所述,Java IO培训讲义通过系统介绍Java IO的基本概念和模型,帮助应届生理解并掌握Java IO类库的使用,特别是在了解和应用不同IO模型时的注意事项和实践方法。通过这份讲义,初学者能更好地理解和编写涉及Java ...

    Java IO_NIO

    Java IO(Input/Output)是Java编程语言中用于处理输入输出操作的基础框架,它提供了丰富的类库,使得程序能够与各种设备、文件、...理解和掌握Java IO与NIO的使用,对于提升Java应用程序的性能和可扩展性至关重要。

    Java的io的应用

    Java的IO(Input/Output)是Java编程中的一个重要领域,主要负责数据的输入与输出操作。在Java中,IO API提供了丰富的类和接口,使得开发者能够有效地读取、写入数据,无论是从文件、网络还是内存。下面我们将深入...

    Java IO 使用例

    在“JavaIODemo”这个示例中,可能会包含以上提到的一些或全部Java IO操作的代码实例,通过这些实例,我们可以学习如何在实际项目中应用Java IO API。实践是掌握Java IO的最佳方式,通过对这些示例的分析和运行,...

    Java IO处理类的汇总

    本篇文章将全面解析Java IO处理类,包括基本概念、常用类库、流的概念及分类,以及实际编程中的应用。 首先,Java IO体系基于流(Stream)的概念,流是数据的序列,可以是从输入源读取或向输出目标写入。Java IO提供...

    Java IO 与 装饰模式

    在Java IO系统中,装饰模式被广泛应用于构建灵活且可扩展的输入输出流体系。 1. Java IO体系结构: Java IO库基于流的概念,流是数据传输的抽象表示,分为字节流(处理单个字节的数据)和字符流(处理Unicode字符的...

    Java IO 编程集合

    在这个集合中,我们主要探讨的是Java IO在文件读写方面的实践应用。 一、基础概念 1. InputStream与OutputStream:这是Java IO体系中的两大基本接口,分别用于数据的读取和写入。InputStream代表字节输入流,...

    利用缓冲区提高Java应用程序的IO性能

    ### 利用缓冲区提高Java应用程序的IO性能 #### 摘要与背景介绍 Java作为一门具有跨平台特性的编程语言,在多个领域都获得了广泛的应用。随着Java应用的不断扩展,其性能问题逐渐成为人们关注的重点,尤其是输入...

    java IO详解课件

    ### Java IO详解知识点 #### 一、Java IO系统概述 - **Java I/O系统的重要性**:Java I/O系统是Java编程中的基础组成部分之一,用于处理数据的输入与输出。理解和熟练掌握Java I/O系统对于开发高质量的应用程序至...

    java IO流精讲 JAVA IO流实例开发

    Java IO流是Java平台中用于处理输入/输出操作的核心组件,它允许程序与各种数据源(如文件、网络连接、内存缓冲区等)进行交互。Java IO流的精讲涵盖了许多概念和技术,包括流的分类、流的方向、缓冲区的使用、字符...

    java io 与java nio区别

    这个例子展示了如何使用传统的Java IO来实现一个服务器端的应用程序,它可以接收客户端发送的消息,并将接收到的信息原样返回给客户端。这里使用了`ServerSocket`和`Socket`来进行网络通信,通过`BufferedReader`来...

    java小项目练习IO实现

    在这个“java小项目练习IO实现”中,我们将探讨如何利用Java的IO流来实现本地数据的序列化与反序列化,以及如何将这些概念应用到实际项目中,比如“Olymplic Games Project(IO版)”。 首先,让我们理解什么是序列化...

    JAVA IO流技术

    理解并熟练运用Java IO流技术是开发Java应用程序的关键,它能够有效地处理数据的读写操作,无论是简单的文本文件还是复杂的网络通信。在实际编程中,根据需求选择适当的流类型,结合处理流进行优化,可以构建出高效...

    java io流学习笔记1

    本文将深入探讨Java IO流的基本概念、类型以及它们在实际开发中的应用。 首先,理解IO流的基本概念至关重要。IO流可以分为两大部分:输入流(Input Stream)和输出流(Output Stream)。它们分别用于从源获取数据和...

    Java_IO完全总结

    Java IO系统主要包括两个包:`java.io`和`java.nio`(New IO),其中`java.io`提供了一系列基于流的I/O操作接口与实现类,而`java.nio`则提供了更高效的数据访问方式,如通道和缓冲区等。 Java IO系统的设计原则之...

    IO流 javaio java 流

    Java中的IO流是Java核心库的重要组成部分,它用于在不同数据源之间传输数据。Java IO流分为两大类:字符流(Character Stream)和字节流(Byte ...理解并熟练运用这些流可以帮助我们构建高效、可靠的Java应用程序。

    Java IO 工具类大全

    本篇文章将全面解析Java IO工具类,帮助你理解并掌握其在实际开发中的应用。 一、Java IO基础 Java IO体系主要由流(Stream)组成,分为字节流和字符流两大类,分别处理字节数据和字符数据。字节流包括InputStream...

    java.io.Reader 和 java.io.InputStream 的区别

    ### Java.io.Reader与Java.io.InputStream的关键差异解析 在深入探讨`java.io.Reader`与`java.io.InputStream`的具体差异之前,我们首先需要理解这两者在Java I/O操作中的基础角色。`java.io.Reader`和`java.io....

Global site tag (gtag.js) - Google Analytics