java: file
/**
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* IDE:IntelliJ IDEA 2021.2.3
* 数据库:MSSQL Server 2019
* OS:windows 10 x64
* 历史版本: JDK 14.02
* 2022-1-12 创建者 geovindu
* 2022-1-15 添加 Lambda
* 2022-1-15 修改:date
* 接口类 mssql-jdbc-9.4.1.jre16.jar.
*
* 2022-1-15 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc FileHelper.java
* */
package Geovin.Common;
import Geovin.Model.Person;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.*;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.CountDownLatch;
/**
*
*
*
* */
public class FileHelper {
/**
* 读取文件流
* @param fileName 文件
* @return
* */
public BufferedReader bufferreader(String fileName) {
BufferedReader reader = null; //使用缓冲区的方法将数据读入到缓冲区中
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
} catch (Exception e) {
e.printStackTrace();
}
return reader;
}
/**
* 读取文件中的某一行数据
* @param reader
* @param lineNumber
* @return string
* */
public String readfile(BufferedReader reader, int lineNumber) {
String line = null; //定义行数
try {
int num = 0;
while (true) {
num++;
line = reader.readLine();
if (num == lineNumber) {
break;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return line;
}
}
/**
*
*
*
* */
public BigInteger getsize(String size){
//System.out.println(size.substring(0,size.length()-1));
int x=Integer.valueOf(size.substring(0,size.length()-1));
BigInteger resultlen=new BigInteger("0");
if(size.endsWith("m")||size.endsWith("M")) {
resultlen = BigInteger.valueOf(x).multiply(BigInteger.valueOf(1024)).multiply(BigInteger.valueOf(1024));
}else if(size.endsWith("g")||size.endsWith("G")){
resultlen = BigInteger.valueOf(x).multiply(BigInteger.valueOf(1024)).multiply(BigInteger.valueOf(1024)).multiply(BigInteger.valueOf(1024));
}else if(size.endsWith("K")||size.endsWith("k")){
resultlen = BigInteger.valueOf(x).multiply(BigInteger.valueOf(1024));
}
return resultlen;
}
public synchronized static int getuuid()
{
tmp=tmp+1;
return tmp;
}
/**
* 写数据
* @param fw
* @param size
* @param list
* @return
*
* */
public boolean DuWriteFile(FileWriter fw, int size, List list) {
DecimalFormat count=new DecimalFormat("00000000000");
//经过测试:ufferedOutputStream执行耗时:1,1,1 毫秒
int tmp_len=0;
long begin0 = System.currentTimeMillis();
try {
String uuid=null;
String uuid2=null;
MessageDigest md =MessageDigest.getInstance("MD5");
LocalDate localdate=LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
String date=localdate.format(formatter);
Random rd=new Random();
int z=0;
for(int i=0;i
How to Read and Write Text File in Java (codejava.net)
https://www.codejava.net/java-se/file-io/how-to-read-and-write-text-file-in-java
/**
*http://commons.apache.org/io/
* You could use the Apache Commons IO library, which gives you FileUtils:
* FileUtils.writeStringToFile(file, stringBuilder.toString(), Charset.forName("UTF-8"))
* @param stringBuffer
* @param file
* @return
* */
public boolean DuBuWriteFile(StringBuffer stringBuffer,File file)
{
boolean isok=false;
try {
FileUtils.writeStringToFile(file, stringBuffer.toString(), Charset.forName("UTF-8"));
isok=true;
}
catch (Exception exception)
{
exception.printStackTrace();
}
return isok;
}
/**
*https://github.com/google/guava
* Files.write(stringBuilder, file, Charsets.UTF_8)
* @param stringBuffer
* @param file
* @return
* */
public boolean DuGoogleWriteFile(StringBuffer stringBuffer,File file)
{
boolean isok=false;
try {
com.google.common.io.Files.write(stringBuffer.toString(),file, Charsets.UTF_8);
isok=true;
}
catch (Exception exception)
{
exception.printStackTrace();
}
return isok;
}