javatxt导出
‘壹’ 如何编写一个java程序,将Txt中想要的数据提取出来,放到表格里
大概思路如下:
通过输入输出流读取txt
过滤出来自己需要的数据存到一个类里面,或者List之类的里面
通过第三方jar包进行excel的操作将过滤出来的数据循环写入到表格里面
反正很麻烦的写起来。我最近在做excel导入导出功能的时候,代码写的还是很多的……
‘贰’ java导出txt 数据对齐
自己写个方法,填充空格就可以了。
这个是我自己用的,你试试。
/**
*填充方法针对中文字符串
*
*@paramstr1
*要填充的数据
*@paramflag
*标记0-填充左边1-填充右边
*@paramlen
*填充后长度
*@paramstr2
*填充字符
*@return
*/
publicstaticStringfillString(Stringstr,intflag,intlen,Stringfill){
if(str==null||str.length()==0){
str="";
}
if(str.length()>len){
if(flag==0){
//截取左边的内容
str=str.substring(str.length()-len,str.length());
}else{
//截取右边的内容
str=str.substring(0,len);
}
}else{
for(inti=str.length();i<len;i++){
if(flag==0){
//填充左边
str=fill+str;
}else{
//填充右边
str=str+fill;
}
}
}
returnstr;
}
‘叁’ java导出txt文件的问题
我觉的你的问题在于在循环中一直调用response.getWriter().print();这句,计算机运行中response.getWriter()会不停的生成一个PrintWriter类的对象,导致堆空间在短时间内生成大量的对象,在垃圾回收器未来的及回收之前就内存溢出了。
建议修改:在循环外使用PrintWriter pw=response.getWriter();
循环内使用pw.print();方法。再试试看
如果你的list里放了太多的数据,这样自身就会内存溢出。list中的对象如果没内存溢出,再使用上面说的方法试,不要再用StringBuffer存list中的数据,StringBuffer存list内数据时也是占用内存的,这样你内存消耗的更快。
list最好分成多次存储对象。
‘肆’ java如何读.txt文件并输出到控制台
import java.io.*;
public class Start
{
public void readAndRead()
{
try
{
FileReader fr = new FileReader("need.txt");//需要读取的文件路径
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
while(s!=null)//如果当前行不为空
{
System.out.println(s);//打印当前行
s= br.readLine();//读取下一行
}
br.close();//关闭BufferReader流
fr.close(); //关闭文件流
}catch(IOException e)//捕捉异常
{
System.out.println("指定文件不存在");//处理异常
}
}
public static void main(String [] args)
{
Start start = new Start();
start.readAndRead();
}
}
‘伍’ java如何将一个txt文件导出并显示
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class IOTexst {
public static void main(String[] arg){
String temp=null;
BufferedReader br;
try {
br = new BufferedReader(new FileReader("d:/test.txt"));
while((temp=br.readLine())!=null){
System.out.println(temp);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
‘陆’ 如何用java输出txt文件
输入无需使用字节流,直接字符流读取即可。
privatevoidinput(StringfileName)throwsIOException{
try(BufferedReaderreader=newBufferedReader(newFileReader(fileName))){
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
}
}
同样输出,只要把Input换成Output;
privatevoidoutput(StringfileName,Stringcontent)throwsIOException{
try(BufferedWriterwriter=newBufferedWriter(newFileWriter(fileName))){
writer.write(content);
writer.flush();
}
}
‘柒’ 自己写了一个java程序,大体是把系统中的一个txt文档内容,输出到一个Excel中,怎么导出为runable jar
可以用文件流试试。
FileWriter fw=new FileWriter("文件地址");
东西比较大,再加上个缓冲流。