package com.fxz.file;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.fxz.vo.Adress;
/**
* 读取文件
* @author Administrator
*
*/
public class FileToReader {
/**
* 读取文件,返回对象集合
* @param filePath
* @return
*/
public static List<Adress> readFileToArray(String filePath){
List<Adress> list = new ArrayList<Adress>();
File f = new File(filePath) ;
//如果文件存在
if(f.exists()){
try {
BufferedReader reader = new BufferedReader(new FileReader(f));
String txt ;
Adress adress = null ;
while((txt = reader.readLine()) != null){
if(!"".equals(txt)){
String id = txt.substring(0, 4);
String name = txt.substring(4, txt.length());
adress = new Adress(id , name);
list.add(adress);
}
}
reader.close();
} catch (FileNotFoundException e) {
System.out.println("文件不存在2");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
System.out.println("文件不存在");
}
return list ;
}
public static void main(String args[]) {
long startTime=System.currentTimeMillis();
List<Adress> list = new ArrayList<Adress>();
list = readFileToArray("c:\\1.txt");
int i = 1 ;
for (Adress adress : list) {
System.out.println(i++ + "、 " + adress.getId() + " ===== " + adress.getName());
}
long endTime=System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间: "+(endTime - startTime)+"ms");
}
}
package com.fxz.file;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件写入
* @author 方小洲
*/
public class FileToWrite {
/**
* 利用FileOutputStream 写入文件
* @param filePath 文件路径
* @param content 写入的内容
* @param isCover 是否覆盖
* @return
*/
public static boolean WriteFileWithFileOutputStream(String filePath , String content , boolean isCover ){
boolean isSuccess = true ;
StringBuffer str = new StringBuffer();
File f = new File(filePath) ;
long begin = System.currentTimeMillis() ;
//存在并不覆盖,读取原文件的内容
if(!isCover && f.exists()){
try {
BufferedReader reader = new BufferedReader(new FileReader(f)); //读取文件
String tmp ;
while((tmp = reader.readLine()) != null){
str.append(tmp);
}
str.append("\n");
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
str.append(content);
//写入文件
try {
FileOutputStream fos = new FileOutputStream(f);
fos.write(str.toString().getBytes());
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println(end - begin);
return isSuccess;
}
/**
* 利用FileWriter 写入文件
* @param filePath 文件路径
* @param content 写入的内容
* @param isCover 是否覆盖
* @return
*/
public static boolean WriteFileWithBufferedOutputStream(String filePath , String content , boolean isCover ){
boolean isSuccess = true ;
StringBuffer str = new StringBuffer();
File f = new File(filePath) ;
//存在并不覆盖,读取原文件的内容
if(!isCover && f.exists()){
try {
BufferedReader reader = new BufferedReader(new FileReader(f)); //读取文件
String tmp ;
while((tmp = reader.readLine()) != null){
str.append(tmp);
}
str.append("\n");
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
str.append(content);
//写入文件
try {
BufferedOutputStream writer = new BufferedOutputStream(new FileOutputStream(f));
writer.write(str.toString().getBytes());
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
return isSuccess;
}
/**
* 利用FileWriter 写入文件
* @param filePath 文件路径
* @param content 写入的内容
* @param isCover 是否覆盖
* @return
*/
public static boolean WriteFileWithFileWriter(String filePath , String content , boolean isCover ){
boolean isSuccess = true ;
StringBuffer str = new StringBuffer();
File f = new File(filePath) ;
//存在并不覆盖,读取原文件的内容
if(!isCover && f.exists()){
try {
BufferedReader reader = new BufferedReader(new FileReader(f)); //读取文件
String tmp ;
while((tmp = reader.readLine()) != null){
str.append(tmp);
}
str.append("\n");
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
str.append(content);
//写入文件
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(f));
writer.write(str.toString());
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
return isSuccess;
}
public static void main(String[] args) {
//WriteFileWithFileWriter("c:\\3.txt", "方小洲", true);
WriteFileWithBufferedOutputStream("c:\\3.txt", "ssssssssssssssfddsf方小洲", false);
}
}
分享到:
相关推荐
Android jni文件读写 NDK文件读取 读写 操作 NDK数据加密DEMO 源码直接上传,运行在android6.0系统测试通过
在多线程或多进程环境中,多个线程或进程同时读取同一文件通常是安全的,因为读操作是原子性的,不会相互干扰。但要注意避免多个线程同时写入同一文件,以防止数据冲突。 七、文件编码与解码 读取非ASCII编码的...
在本实验中,我们使用无缓冲方式实现文件读/写,即不使用缓冲区来存储文件的内容,而是直接读取或写入文件。这种方式可以提高文件读/写的效率,但需要注意文件的同步问题。 实验步骤 1. 首先,创建一个文件句柄,...
java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取...
需要注意的是,由于内存映射文件可能跨越多个页,所以部分写操作可能导致整个页被刷新到磁盘,这可能会有性能影响。 5. 关闭映射:完成操作后,使用`unmap`方法释放内存映射,然后关闭文件。这会确保所有未同步的...
这个例子中,`BufferedReader`用于提高读取效率,`FileReader`则用于读取文件内容。`try-with-resources`语句确保资源在使用后会被正确关闭。 三、文件的写入 文件的写入操作与读取类似,可以使用`OutputStream`和...
另外需要读取txt文件的关注本人往期的文章,有讲解。资源内部包含工程文件以及CVS文件。 如果是打开工程的界面不显示,可能是codesys的版本过低,需要更新版本。可以参见博客文章:codesys工程ST语言学习笔记(六)...
不过,这里假设文件路径已知且可读。我们可以使用`File.ReadAllText`静态方法来一次性读取整个文件内容: ```csharp string filePath = "path_to_your_file.txt"; string fileContent = File.ReadAllText...
5.读、写文件需要显示处理进度; 6.增加一个列表,用于展示文本文件的类型、大小、行数等。 一、功能列表 1.显示文件路径选择框,仅展示 .txt类型文件可选; 2.读取文本文件,显示到桌面控件中; 3.读取的文件使用...
在这个"vba写的完整例子加用户窗口操作选择文件读取文件等"的案例中,我们将深入探讨VBA在实际应用中的几个关键知识点。 首先,**用户窗口操作**是指通过VBA创建的用户界面,通常使用UserForm来实现。UserForm可以...
1. **C# CSV或txt文本文件读操作** 在C#中,读取CSV或txt文本文件通常使用`System.IO`命名空间下的`StreamReader`类。首先,需要打开文件流,然后逐行读取内容。以下是一个简单的示例: ```csharp using System...
3. **读取文件**:如果以读模式打开文件,可以使用`fgets()`读取每一行,然后解析行内容,根据分隔符(通常是等号)将节、键和值分开。例如,可以使用`strtok()`函数进行字符串分割。 4. **解析数据**:将读取到的...
一、JSP读文件 1. **FileReader 和 BufferedReader** 使用`java.io.FileReader`和`java.io.BufferedReader`可以方便地读取文本文件。`FileReader`用于打开文件,而`BufferedReader`则提供了一种高效的读取字符流的...
提供的压缩包中的"vc6.0下读文件程序"可能是一个简单的C++示例,展示了如何使用API函数进行同步读取。而"VS2005下写文件程序"则可能包含异步写入的实现,利用了Windows的异步I/O功能。这些示例可以帮助理解同步与...
用C语言编写的读写工作格式SGY/SEGY文件的程序源代码,已经测试通过了。只需要自行添加处理命令就可以实现对数据处理。这是了解学习读写SGY文件,以及SGY文件格式非常好的例子!!在工作站要安装相应的文件库(sun...
通过MODBUS,我们可以读取和写入PLC的寄存器,包括输入寄存器(只读)和输出寄存器(读/写)。 2. **OPC UA**:这是一种更现代、更安全的通信标准,提供了一个统一的接口来访问不同厂商的自动化设备,包括PLC。使用...
在VC++开发环境中,"vc读取bin文件"是一个常见的任务,特别是在处理二进制数据或者需要从外部加载配置或资源时。MFC(Microsoft Foundation Classes)是VC++的一个库,提供了一套面向对象的API,用于构建Windows应用...
在 C++ 中,写 TDMS 文件可以使用 DDC_CreateFile 函数创建文件,并使用 DDC_AddChannelGroup 和 DDC_AddChannel 函数添加通道组和通道。然后,我们可以使用 DDC_SetDataValues 函数设置通道的数据值。最后,我们...
这个库提供了API接口,使得开发者能够方便地将数据写入TDMS文件或从TDMS文件中读取数据。 1. **TDMS文件结构**: TDMS文件由一系列的“对象”组成,每个对象可以是通道、组或者文件属性。通道包含实际的数据,而组...
在这个"**MFC txt文件读写**"的实践中,我们将探讨如何利用MFC来处理文本文件的读取和写入操作。 首先,我们需要了解MFC中的CFile类,它是处理文件操作的基础。CFile类提供了打开、关闭、读取和写入文件的基本方法...