FileUtils分割读取txt文件

简介: FileUtils分割读取txt文件

java将查询数据转化为txt文件

package com.elite.hisservice.utils;

import org.apache.commons.io.LineIterator;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import java.io.*;

/**

* 读取文件类 txt将txt文件保存到数据库

*/

public class FileUtils {

   private static Logger logger = LoggerFactory.getLogger(FileUtils.class);

   // 使用commons-io.jar包的FileUtils的类进行读取

   public static  String [] readTxtFileByFileUtils(String fileName) {

       File file = new File(fileName);

       //返回每一行切割的数据

       String[]  linarr = new String[0];

       try {

           LineIterator lineIterator = org.apache.commons.io.FileUtils.lineIterator(file, "GB2312");

           while (lineIterator.hasNext()) {

               String line = lineIterator.nextLine();

               // 行数据转换成数组

               linarr = line.split("\t");

           }

       } catch (IOException e) {

           e.printStackTrace();

           logger.info("分割数组中出现异常"+e.getMessage());

       }

       return linarr;

   }

   /**

    * 将字符串内容写入txt

    * @param text  写入的字符串内容文件

    * @param filename

    * @throws IOException

    */

   public static void writeToTextFile(String text,String filename) throws IOException {

       try {

           File file = new File(filename); // 相对路径,如果没有则要建立一个新的output。txt文件

           // 创建新文件

           file.createNewFile();

           // write 解决中文乱码问题

           OutputStreamWriter fw = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");

           BufferedWriter out = new BufferedWriter(fw);

           out.write(text+"\r\n"); // \r\n即为换行

           out.flush(); // 把缓存区内容压入文件

           out.close(); // 最后记得关闭文件

       } catch (Exception e) {

           e.printStackTrace();

       }

   }

   /**

    * 使用common-io的FileUtils将zip文件转化为byte[]

    */

   public static byte[] toByteArray1(String filePath) throws Exception {

       File file = new File(filePath);

       if(!file.exists()){

           return new byte[0];

       }

       return org.apache.commons.io.FileUtils.readFileToByteArray(file);

   }

   /**

    *将zip文件转化字节流数组

    * @param filename

    * @return

    * @throws IOException

    */

   public static byte[] toByteArray2(String filename) throws IOException{

       File f = new File(filename);

       if(!f.exists()){

           throw new FileNotFoundException(filename);

       }

       //字节数组输出

       ByteArrayOutputStream bos = new ByteArrayOutputStream((int)f.length());

       BufferedInputStream in = null;

       try{

           in = new BufferedInputStream(new FileInputStream(f));

           int buf_size = 1024;

           byte[] buffer = new byte[buf_size];

           int len = 0;

           while(-1 != (len = in.read(buffer,0,buf_size))){

               bos.write(buffer,0,len);

           }

           return bos.toByteArray();

       }catch (IOException e) {

           e.printStackTrace();

           throw e;

       }finally{

           try{

               in.close();

           }catch (IOException e) {

               e.printStackTrace();

           }

           bos.close();

       }

   }

   /**

    * 将byte转化为zip文件

    */

   public static void convertByteArrayToZipFile(byte[] certFile,String filePath) throws IOException{

       File zipFile = new File(filePath);

       try{

           OutputStream out = new FileOutputStream(zipFile);

           out.write(certFile);

           out.flush();

       }catch (Exception e){

           throw new IOException(e);

       }

   }

}


相关文章
|
存储
RandomAccessFile实现文件分割、合并
RandomAccessFile实现文件分割、合并
166 0
|
2月前
CSV写入文件追加新的内容,文件编码处理
CSV写入文件追加新的内容,文件编码处理
48 8
|
7月前
|
存储 弹性计算 运维
读取文件
【4月更文挑战第29天】
74 2
C++ 中 ifstream读取txt文件内容
C++ 中 ifstream读取txt文件内容
1374 0
C++ 中 ifstream读取txt文件内容
使用FILE结构操作文本文件
使用FILE结构操作文本文件
114 0
ENVI_IDL: 文本文件的读取(主要是txt、csv文件)
ENVI_IDL: 文本文件的读取(主要是txt、csv文件)
489 0
|
数据处理
R|批量循环处理同一格式文件-csv,txt,excel
R|批量循环处理同一格式文件-csv,txt,excel
126 0
|
数据处理 Python
多线程操作CSV文件并且将CSV文件转成XLSX文件
多线程操作CSV文件并且将CSV文件转成XLSX文件
246 0
|
大数据 C#
C# 读取大文件 (可以读取3GB大小的txt文件)
原文:C# 读取大文件 (可以读取3GB大小的txt文件) 在处理大数据时,有可能 会碰到 超过3GB大小的文件,如果通过 记事本 或 NotePad++去打开它,会报错,读不到任何文件。
4267 1
GSoap根据filename读取图片byte
GSoap根据filename读取图片byte
72 0