Java简单文件读写

Java简单文件读写, 昨天帮同学写了一个简单的文件处理程序,记录这边吧,竟然花了一个小时,就是因为system.out打印日志的时候位置写错了 :-(

public static void main(String[] args){

try{

BufferedReader br = new BufferedReader(new FileReader("D:/a.txt"));

File dest = new File("D:/b.txt");

BufferedWriter writer  = new BufferedWriter(new FileWriter(dest));

String data = null;

String sampletxt = "++++";

StringBuffer strbf = null;

int count = 0; // 行数标记

boolean flag = false; // 本对++++出现的切换拼接开关

boolean output = false; // 输出本对 ++++内的内容

while((data = br.readLine()) != null){

count ++;

output = false;

if(data.contains(sampletxt) && count > 2){

if(!flag){

// 除了第一行之外,第一次出现++++即开始append,直到第二个++++

strbf = new StringBuffer();

flag = true;

}else{

flag = false;

if(strbf != null){

output = true;

strbf.append(data);

}

}

}

if(flag){

strbf.append(data);

}else{

if(!output){

writer.write(data+"\n");

System.out.println("----"+data);

}

}

if(output && (strbf != null) && (strbf.length() > 0)){

writer.write(strbf.toString());

System.out.println("----"+strbf.toString());

}

}

writer.flush();

br.close();

writer.close();

}catch(Exception ex){

ex.printStackTrace();

}

}

另外一个方法:

public List<UVO> readfileInfo(String fileName) throws FileNotFoundException,IOException{

List <UVO> list= new ArrayList<UVO>();

try{

uniportal_logger.trace("readfileInfo with fileName :"+ fileName);

File readfile = new File(fileName);

if(readfile.exists()){

// 文件重命名

readfile.renameTo(new File(fileName+fileRenameSuffix));

}

readfile = new File(fileName+fileRenameSuffix);

int sampletype = 1; // 为syncsample_spam.txt时填1,为syncsample_normal.txt时填2

if((fileName+fileRenameSuffix).toLowerCase().endsWith(filename_spam)){

sampletype = 1;

}else if((fileName+fileRenameSuffix).toLowerCase().endsWith(filename_normal)){

sampletype = 2;

}

if(readfile != null && readfile.exists() && !readfile.isDirectory()){

//指定读取文件时以UTF-8的格式读取

FileInputStream in = new FileInputStream(readfile);

BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));

String line = null;

while((line=br.readLine())!=null){

line = line.trim();

String ckresult = checkline(line);

if(ckresult.equals("")){

UVO entity = new UVO();

entity.setSampletype(sampletype);

entity.setSmcontent(line.trim().replaceAll(",", ","));

list.add(entity);

}

}

br.close();

in.close();

}

}catch(Exception ex){

ex.printStackTrace();

}

return list;

}

时间: 2024-10-13 10:03:38

Java简单文件读写的相关文章

Java的文件读写操作

当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader.其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁.你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等.使用FileReader读取文件: [java] view plain copy FileReader fr = new FileReader("ming.txt");

Java的文件读写操作 &lt;转&gt;

目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方法比较 java中的getParentFile Java RandomAccessFile的使用 高效的RandomAccessFile 高效的RandomAccessFile续 file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采

Java:简单的读写XML文件之使用DOM4J读写

Dom4J方式解析XML文件.dom4j是非官方提供的xml文件解析方式,因此需要去第三方下载dom4j的jar包 File file = new File("D:\\chengmuzhe\\java\\JavaOOP6.0\\students.xml"); SAXReader reader = new SAXReader(); Document document = reader.read(file); Element root = document.getRootElement()

java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用MappedByteBuffer. MappedByteBuffer是java nio引入的文件内存映射方案,读写性能极高.NIO最主要的就是实现了对异步操作的支持.其中一种通过把一个套接字通道(SocketChannel)注册到一个选择器(Selector)中,不时调用后者的选择(select)方法就能返回满足的选择键(SelectionKey

java写文件读写操作(IO流,字节流)

package copyfile; import java.io.*; public class copy { public static void main(String[] args) throws IOException { copyFile("d:/new/a.txt","d:/new/b.txt",true);//oldpath,newpath,是否不覆盖前文 } public static void copyFile(String oldpth,Stri

C++ 简单文件读写

需要包括库文件 #include <fstream> (1)      ofstream:写操作,输出文件类: (2)      ifstream:读操作,输入文件类: (3)      fstream:可同时读写的文件类. 一般使用ofstream 和ifstream更加清楚明了 ifstream fin("input.txt"); ofstream fout("input.txt"); if (! fin.is_open())    { cout &

java写文件读写操作(IO流,字符流)

package copyfile; import java.io.*; public class copy { public static void main(String[] args) throws IOException { copyFile("d:/new/a.txt","d:/new/b.txt",true);//oldpath,newpath,是否不覆盖前文 } public static void copyFile(String oldpth,Stri

java IO文件读写例子(OutputStream,InputStream,Writer,Reader)

一,File创建文件 File file = new File("D:" + File.separator + "yi.txt"); 代码示例: package com.hbut.io; import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { File file = new File("

JAVA FileUtils(文件读写以及操作工具类)

转别人的合并的链接 //https://www.cnblogs.com/chenhuan001/p/6575053.html //https://blog.csdn.net/lovoo/article/details/77899627 第一个链接找不到了作者看见了说一下我给你上链接(但是你的名字信息没改哈!!) package com; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import