自己整理了个文件读写选择器的类,方便以后需要的时候拿来用,不用辛辛苦苦从头再写。可根据具体需要截取其中的某个方法到项目中使用。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.filechooser.FileFilter;
/**
*
* @author ahomeeye
*/
public class ReadAndWrite extends JFrame {
private String path;
//打开文件,获取绝对路径
public void openFile() {
JFileChooser jfc = new JFileChooser();
jfc.setFileFilter(new FileFilter() {
public boolean accept(File f1) {
if (f1.isDirectory() || f1.getName().trim().endsWith(".properties")) { //默认问题类型为.properties
return true;
}
return false;
}
public String getDescription() {
return "properties文件";
}
});
int optionNum = jfc.showOpenDialog(getContentPane());
if (optionNum == JFileChooser.APPROVE_OPTION) {// 选择确认(yes、ok)
// 后返回该值。
File f1 = jfc.getSelectedFile();
path = f1.getAbsolutePath();
}
}
//写入内容
public void writer(String filePath) {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(filePath, false), "utf8"));
bw.write("这是新添的内容。");
bw.flush();
} catch (FileNotFoundException e1) {
} catch (IOException e1) {
} finally {
if (bw != null) {
try {
bw.close();
} catch (Exception e2) {
}
}
}
}
//读取内容
public void reader(String filePath) {
try {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "utf8"));
StringBuilder sb = new StringBuilder();
String str = "";
try {
while ((str = br.readLine()) != null) {
sb.append(str);
sb.append("\n");
}
} catch (IOException ex) {
}
System.out.println("sb=" + sb.toString());
} catch (FileNotFoundException ex) {
}
} catch (UnsupportedEncodingException ex) {
}
}
public static void main(String[] args) {
ReadAndWrite rw = new ReadAndWrite();
rw.openFile();
System.out.println("path=" + rw.path);
}
}
分享到:
相关推荐
主要类包括`ifstream`(读取文件),`ofstream`(写入文件)和`fstream`(读写文件)。 1. **ifstream**:构造时指定文件名,可以使用`open()`方法打开文件,使用`close()`方法关闭文件。成员函数如`get()`, `...
本主题聚焦于Qt框架下如何利用内存映射进行大文件的读写操作。Qt是一个跨平台的C++库,提供了丰富的功能,包括图形用户界面、网络编程、数据库访问等,同时也支持内存映射技术。 内存映射允许将大文件的部分或全部...
它提供了成员函数 open() 用于打开文件,close() 用于关闭文件,并提供了插入器 () 和析取器 (>>) 运算符来读写文件。 一、打开文件 在 fstream 类中,有一个成员函数 open(),用于打开文件。其原型是:void ...
综上所述,实现Android的文件上传和多选、单选文件功能涉及到了文件选择器的定制、文件操作、网络通信等多个方面。通过合理的设计和优化,可以提供高效、安全的文件操作体验。在实际开发中,要不断迭代和优化,确保...
5. **文件对话框**:在用户交互中,MFC的`CFileDialog`类可帮助创建文件打开和保存对话框,简化了文件选择的过程。 在学习MFC文件读写时,建议结合实际案例,例如创建一个简单的文本编辑器,实现打开、保存和新建...
在使用KUKA机器人进行自动化作业时,可能会...通过理解KUKA机器人的文件管理系统和遵循正确的操作规程,可以有效地避免和解决“如果文件以写入方式打开,则不允许选择或执行程序”的问题,保证机器人工作的顺畅和效率。
在编写脚本时,首先进行变量声明,如模式变量用于指定文件打开方式(如追加模式)。全局变量“bExtension”用于存储选定的文件扩展名。使用“On Error Resume Next”来处理可能出现的错误,确保即使有错误发生,脚本...
### JAVA 文件读写操作 #### 一、使用 InputStream 和 OutputStream 进行文件读写 在 Java 开发过程中,文件的读写操作是非常基础且重要的功能之一。从 JDK 1.0 开始,Java 提供了两种主要的方式来处理文件读写:`...
10. **源代码分析**:`Filedemo`可能是包含以上操作的示例代码,具体实现可能包括打开文件选择器、读取文件内容、写入文件内容等功能。分析这个源码可以帮助理解Android文件操作的实际应用。 通过理解和掌握这些...
在本文中,我们将深入探讨如何使用Qt库进行GUI界面下的二进制文件读写操作,同时结合源码分析、工程打包以及测试实例来全面理解这一主题。Qt是一个跨平台的应用程序开发框架,广泛用于创建图形用户界面和其他软件。...
在.NET框架中,C#语言提供了丰富的API来处理文件的读写操作,使得开发者能够方便地与各种类型的文件进行交互。在这个" C#.net制作的文件读写 "的主题中,我们将探讨两种主要的方法来读取和写入文本文件,特别是.txt...
文本文件的编辑器可以轻松打开并查看其内容,因为它们显示的是我们熟悉的字母、数字和标点符号。 二进制文件则不同,它不遵循字符编码,而是直接存储原始数据,包括整数、浮点数、结构体或其他复杂的数据类型。二...
2. 使用FileInputStream构造器打开文件。 3. 使用read()方法逐字节读取,或read(byte[])一次性读取一定长度的数据。 4. 关闭输入流。 写入文件则类似,使用FileOutputStream,通过write()方法将数据写入。 二、...
6. **读写文件** - **写文件**:使用`f_write()`函数向文件写入数据。数据以缓冲区的形式提供,一次写入的字节数可自定义。 - **读文件**:使用`f_read()`函数从文件读取数据。同样,读取的数据会被存放在预先分配...
在实际应用中,需要根据具体情况选择合适的文件打开方式和读写方法。 本节课讲授了高级语言程序设计中文件读写的相关知识点,包括文件与文件指针、文件的打开和关闭、文件读写、位置指针的定位等。这些知识点对于...
3. **UsbFileExplorer**:展示USB设备文件系统的界面,允许用户选择文件进行读写操作。 4. **UsbFileOperations**:处理实际的文件读写逻辑。 通过深入研究` USBDiskDemo `的源代码,你可以了解到如何将这些概念...
在Windows CE .NET环境下,开发过程中常常需要处理配置文件,其中INI文件是一种常见的选择,因为它们结构简单且易于读写。这个压缩包“window ce.net ini文件读写,纯c代码.rar”提供了一组C语言编写的源码,用于在...
- **CAA File库**:主要用于文件读写操作,提供了较为友好的接口和丰富的功能支持。 - **SysFile库**:更接近底层的操作,通常在特定需求下使用,比如需要更精细控制的情况。 在CODESYS 3.5.17之前的版本中,CAA ...
在C++Builder中,对C和C++语言进行文件读写操作是一个常见的任务。本篇文章将对C++Builder中涉及的文件操作进行总结,包括基于C的文件操作、基于C++的文件操作、基于WinAPI的文件操作、基于BCB库的文件操作以及特殊...