`
duanfei
  • 浏览: 732376 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java读写文件

    博客分类:
  • JAVA
阅读更多
public static void main(String[] args){
    try {
    	String log ="null";
    	String lat ="null";
    	//读取文件
    	BufferedReader brlog =new BufferedReader(new InputStreamReader(new FileInputStream("d:\\log.txt")));
          //读取文件
    	BufferedReader brlat =new BufferedReader(new InputStreamReader(new FileInputStream("d:\\lat.txt")));
          //写文件
    	PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("E:\\ictmaplog20101025out.txt")),true);
    	
          //判断是否为最后一行
    	while((log=brlog.readLine())!=null && (lat=brlat.readLine())!=null){
    		String destStr="";
    		if(log.endsWith("null") || lat.endsWith("null")){
    			//System.out.println("null;null;null");
    			destStr = "null;null;null";
    			pw.println(destStr);
    			continue;
    		}
            //判断不为NULL                  
            
            //System.out.println(destStr);
            pw.println(destStr);
        	
    	}
    	pw.close();
    	brlat.close();
    	brlog.close();
    	
    	System.out.println("导出成功");
	} catch (Exception e) {
		e.printStackTrace();
		System.out.println("导出失败");
	}
}


另一种方法
File outdir = null;

File outfile = null;

FileOutputStream fos = null;

BufferedInputStream bis = null;

byte[] bs = new byte[20480];

//获得路径
outfile = new File(photoPath.toString().trim());

//判断路径是否存在
if (!outfile.exists()){
  outfile.createNewFile();
}

//路径指向文件夹输出流
fos = new FileOutputStream(outfile);

//转入的文件流放入buffer输入流中
bis = new BufferedInputStream(request.getInputStream());
//InputStream in = new FileInputStream(tt[7]); 
//int len = (int) tt[7].length();
//byte[] buffer = new byte[len];
//while((len = in.read(buffer))!=-1){
int i;
while ((i = bis.read(bs)) != -1) {
 fos.write(bs, 0, i); //文件夹写入文件
}


/**  
   * 新建目录  
   * @param folderPath String 如 c:/fqf  
   * @return boolean  
   */  
  public void newFolder(String folderPath) {   
    try {   
      String filePath = folderPath;   
      filePath = filePath.toString();   
      java.io.File myFilePath = new java.io.File(filePath);   
      if (!myFilePath.exists()) {   
        myFilePath.mkdir();   
      }   
    }   
    catch (Exception e) {   
      System.out.println("新建目录操作出错");   
      e.printStackTrace();   
    }   
  }   



/**  
   * 新建文件  
   * @param filePathAndName String 文件路径及名称 如c:/fqf.txt  
   * @param fileContent String 文件内容  
   * @return boolean  
   */  
  public void newFile(String filePathAndName, String fileContent) {   
  
    try {   
      String filePath = filePathAndName;   
      filePath = filePath.toString();   
      File myFilePath = new File(filePath);   
      if (!myFilePath.exists()) {   
        myFilePath.createNewFile();   
      }   
      FileWriter resultFile = new FileWriter(myFilePath);   
      PrintWriter myFile = new PrintWriter(resultFile);   
      String strContent = fileContent;   
      myFile.println(strContent);   
      resultFile.close();   
  
    }   
    catch (Exception e) {   
      System.out.println("新建目录操作出错");   
      e.printStackTrace();   
  
    }   
  
  }   



/**  
   * 删除文件  
   * @param filePathAndName String 文件路径及名称 如c:/fqf.txt  
   * @param fileContent String  
   * @return boolean  
   */  
  public void delFile(String filePathAndName) {   
    try {   
      String filePath = filePathAndName;   
      filePath = filePath.toString();   
      java.io.File myDelFile = new java.io.File(filePath);   
      myDelFile.delete();   
  
    }   
    catch (Exception e) {   
      System.out.println("删除文件操作出错");   
      e.printStackTrace();   
  
    }
 } 


 /**  
   * 删除文件夹  
   * @param filePathAndName String 文件夹路径及名称 如c:/fqf  
   * @param fileContent String  
   * @return boolean  
   */  
  public void delFolder(String folderPath) {   
    try {   
      delAllFile(folderPath); //删除完里面所有内容   
      String filePath = folderPath;   
      filePath = filePath.toString();   
      java.io.File myFilePath = new java.io.File(filePath);   
      myFilePath.delete(); //删除空文件夹   
  
    }   
    catch (Exception e) {   
      System.out.println("删除文件夹操作出错");   
      e.printStackTrace();   
  
    }   
  
  }   
  
  /**  
   * 删除文件夹里面的所有文件  
   * @param path String 文件夹路径 如 c:/fqf  
   */  
  public void delAllFile(String path) {   
    File file = new File(path);   
    if (!file.exists()) {   
      return;   
    }   
    if (!file.isDirectory()) {   
      return;   
    }   
    String[] tempList = file.list();   
    File temp = null;   
    for (int i = 0; i < tempList.length; i++) {   
      if (path.endsWith(File.separator)) {   
        temp = new File(path + tempList[i]);   
      }   
      else {   
        temp = new File(path + File.separator + tempList[i]);   
      }   
      if (temp.isFile()) {   
        temp.delete();   
      }   
      if (temp.isDirectory()) {   
        delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件   
        delFolder(path+"/"+ tempList[i]);//再删除空文件夹   
      }   
    }   
  } 



/**  
   * 复制单个文件  
   * @param oldPath String 原文件路径 如:c:/fqf.txt  
   * @param newPath String 复制后路径 如:f:/fqf.txt  
   * @return boolean  
   */  
  public void copyFile(String oldPath, String newPath) {   
    try {   
      int bytesum = 0;   
      int byteread = 0;   
      File oldfile = new File(oldPath);   
      if (oldfile.exists()) { //文件存在时   
        InputStream inStream = new FileInputStream(oldPath); //读入原文件   
        FileOutputStream fs = new FileOutputStream(newPath);   
        byte[] buffer = new byte[1444];   
        int length;   
        while ( (byteread = inStream.read(buffer)) != -1) {   
          bytesum += byteread; //字节数 文件大小   
          System.out.println(bytesum);   
          fs.write(buffer, 0, byteread);   
        }   
        inStream.close();   
      }   
    }   
    catch (Exception e) {   
      System.out.println("复制单个文件操作出错");   
      e.printStackTrace();   
  
    }   
  
  }   
  
  /**  
   * 复制整个文件夹内容  
   * @param oldPath String 原文件路径 如:c:/fqf  
   * @param newPath String 复制后路径 如:f:/fqf/ff  
   * @return boolean  
   */  
  public void copyFolder(String oldPath, String newPath) {   
  
    try {   
      (new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹   
      File a=new File(oldPath);   
      String[] file=a.list();   
      File temp=null;   
      for (int i = 0; i < file.length; i++) {   
        if(oldPath.endsWith(File.separator)){   
          temp=new File(oldPath+file[i]);   
        }   
        else{   
          temp=new File(oldPath+File.separator+file[i]);   
        }   
  
        if(temp.isFile()){   
          FileInputStream input = new FileInputStream(temp);   
          FileOutputStream output = new FileOutputStream(newPath + "/" +   
              (temp.getName()).toString());   
          byte[] b = new byte[1024 * 5];   
          int len;   
          while ( (len = input.read(b)) != -1) {   
            output.write(b, 0, len);   
          }   
          output.flush();   
          output.close();   
          input.close();   
        }   
        if(temp.isDirectory()){//如果是子文件夹   
          copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);   
        }   
      }   
    }   
    catch (Exception e) {   
      System.out.println("复制整个文件夹内容操作出错");   
      e.printStackTrace();   
  
    }   
  
  }   
  
  /**  
   * 移动文件到指定目录  
   * @param oldPath String 如:c:/fqf.txt  
   * @param newPath String 如:d:/fqf.txt  
   */  
  public void moveFile(String oldPath, String newPath) {   
    copyFile(oldPath, newPath);   
    delFile(oldPath);   
  
  }   
  
  /**  
   * 移动文件到指定目录  
   * @param oldPath String 如:c:/fqf.txt  
   * @param newPath String 如:d:/fqf.txt  
   */  
  public void moveFolder(String oldPath, String newPath) {   
    copyFolder(oldPath, newPath);   
    delFolder(oldPath);   
  
  }   
}

分享到:
评论

相关推荐

    java读取文件方法大全

    根据给定的文件信息,我们可以总结出一系列关于Java中读取文件的方法,这些方法涵盖了不同层次的数据读取,包括字节、字符以及行级别的读取。以下是对这些知识点的详细阐述: ### Java读取文件方法大全:读取File流...

    java读写文件(txt)

    在Java编程中,读写文件是一项基础且重要的任务,...以上就是关于“Java读写文件(txt)”的知识点,包括文件的读取、内容转换、正则匹配以及文件的写入。希望这些内容能帮助你理解和掌握Java在文件操作上的基本技能。

    java读取文件大全

    java读取文件大全 写入字节流 读取字节流 在实际运用中相当的广泛 大家共享下资料

    java 读取文件 文件读取操作

    Java中`java.io.FileInputStream`类提供了按字节读取文件的功能。这种方法适用于读取二进制文件,例如图像、音频或视频文件。下面的代码示例展示了如何按字节读取文件: ```java FileInputStream in = new ...

    Java 读写文件文本文件的示例

    根据给定的文件信息,我们将深入探讨Java读写文件文本文件的关键知识点,这些知识点主要集中在文件的读取、写入以及流的复制等操作上。 ### Java读取文本文件 在Java中,读取文本文件通常涉及到使用`InputStream`...

    Java读写文件(excel)

    Java读写文件-Excel

    java读写文件避免中文乱码.docx

    Java 提供了多种方式来读取文件,例如使用 `FileInputStream`、`FileReader`、`BufferedReader` 等。但是,使用这些类时,需要指定正确的编码方式,以避免中文乱码。 在给定的代码中,使用了 `InputStreamReader` ...

    Java读取文件的几种方式

    介绍Java直接读取、带缓冲读取、内存映射读取文件,并详细注释。

    java 读取文件方法的总结

    Java 读取文件的方法在Java编程中至关重要,无论是处理文本文件、二进制文件还是其他类型的数据,都需要灵活运用各种读取方式。以下是对Java读取文件的五种方法的详细说明,每种方法都有相应的代码示例: 1. **按...

    java如何读取文件

    在Java编程语言中,读取文件是一项常见的操作,尤其是在处理数据、日志文件或配置信息时。本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的...

    Java读写文件API的用法指南,性能分析与对比。

    在Java编程语言中,文件操作是日常开发中的基础任务,涉及到数据的持久化存储和读取。本指南将深入探讨Java中的文件读写API,包括常用的方法、性能分析以及不同方式之间的对比。以下是对相关知识点的详细说明: 1. ...

    java读取TXT文件入库

    - 读取文件和操作数据库完成后,记得关闭`BufferedReader`、`FileReader`、`PreparedStatement`和`Connection`,以释放系统资源。 ```java br.close(); fr.close(); pstmt.close(); conn.close(); ``` 以上就是...

    java 读取文件乱码

    在Java编程中,遇到“java 读取文件乱码”的问题通常是由于编码格式不匹配导致的。当程序按照一种编码方式打开文件,而文件实际采用的是另一种编码时,就会出现乱码现象。解决这个问题需要理解Java中处理字符编码的...

    最简单易懂的一个java读写文件的操作

    通过`FileReader`和`BufferedReader`读取文件,用`FileWriter`和`BufferedWriter`写入文件,结合`newLine()`方法处理换行,我们可以实现对文件的高效且兼容的操作。这些基础知识是每个Java开发者都需要掌握的,对于...

    Java读取文件方法大全

    Java语言在处理文件I/O操作时提供了多种方法,这些方法可以按照不同的策略读取文件,例如按字节或字符进行。下面将详细讲解Java中读取文件的主要方法,并结合给出的代码片段进行分析。 首先,Java中最基础的文件...

    Java读取文件并对其排序后重新写入文件

    在Java编程中,读取文件、对数据进行排序并重新写入文件是常见的操作,尤其在数据处理和分析场景中。下面将详细讲解这个过程,包括相关知识点和具体实现。 首先,我们需要导入Java的`java.io`包,该包包含了处理...

    JAVA读写文件小实例

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。本实例将深入探讨如何使用Java进行文件的读取和写入操作,这对于处理数据存储、日志记录、配置文件管理等任务至关重要。首先,我们需要理解Java中的几...

    java按行读取大文件并解析入库

    使用`java.nio.FileChannel`类创建一个文件通道,这允许我们以非阻塞的方式读取文件。通过`Files.newByteChannel()`方法可以从`java.nio.file.Paths`中获取文件通道。 ```java FileChannel fileChannel = Files....

    java 读取文件

    本文主要关注如何使用Java来读取文件内容,包括四种常见的读取方式:按字节读取、按字符读取、按行读取以及随机读取。此外,我们还将讨论如何向文件追加内容。 一、按字节读取文件内容 在Java中,`java.io ...

Global site tag (gtag.js) - Google Analytics