文件类的运用和字符串的运用一样,一般不会是很复杂的算法,关键是选取类中正确的方法,这样就能达到很好的运用效果。
输入输出流式文件读取的核心内容,弄懂了这个其实文件这一块就比较容易解决了。首先我是这样记住他们这样的用法。第一就是,读取的时候是要把文件从里面弄出来。所以就是FileInputStream,写的时候是从外面写,所以就是Out了嘛。在读取文档的时候一般是通过建立一个数组,把要读去的内容都读取到数组中,然后通过字符串输出结果。这样不会造成汉字的乱码。这个是必须要注意的一点。在写文档的时候最好是一般是把内容放在字符串里面,然后再调用字符串自身的数组把内容提取到新建的数组里面。或是直接使用字符的ASCII码,在调用文件类里面的write方法。从而把文本写到文件里面。
在调用复制方法的时候,可以把复制的方法稍微的做一些修改。就成为了所谓的密码啦。
package Mrzhou20130719;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 定义一个用来处理文件的类,比如实现文件的创建,修改,复制,读取等功能
* @author 周建权 2013.7.19
*
*/
public class IOfile {
public void testFile(){
File file = new File("D://filetest.txt");
if(file.isDirectory() || !file.exists()){
//只能创建一级目录
//file.mkdir();
//可以创建多级目录
//file.mkdirs();
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 用于查找文件的方法
* @param file
* @param findName
*/
public void find(File file,String findName){
//定义一个数组,用来储存所有的文件名
File [] sonFiles=file.listFiles();
if(sonFiles!=null){
for(int i=0;i<sonFiles.length;i++) {
File fi=sonFiles[i];
if(fi.isFile()){
if( fi.getName().indexOf(findName)!=-1){
System.out.println(fi.getAbsolutePath());
}else{
find(fi,findName);
}
}
}
}
}
/**
* 用于读取文件的方法
*/
public void readFile(){
try{
FileInputStream fis=new FileInputStream("D:/filetest.txt");
//新建一个于原文件大小相同的字节数组
byte[] bytes=new byte[fis.available()];
//一次性把所有的字节读到数组中
fis.read(bytes);
//把所有的字节翻译到字符串里面
String string=new String(bytes,"GB2312");
System.out.println(string);
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 用于往文件中加入东西的方法
*/
public void writeFile(){
try{FileOutputStream foS=new FileOutputStream("D:/t2.txt");
//要写入的东西
String string=new String("据说这个世界有许多好吃的");
byte[]bytes=string.getBytes();
foS.write(bytes);
foS.write(174);
foS.close();
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 复制文件内容的字符串
* @param scr
* @param dest
*/
public void copyFile(String scr,String dest){
try{
FileInputStream fiS=new FileInputStream(scr);
FileOutputStream foS=new FileOutputStream(dest);
int c=fiS.read();
while(c!=-1){
c=c+1;
foS.write(c);
c=fiS.read();
}
fiS.close();
foS.close();
}catch (Exception e) {
e.printStackTrace();
}
}
/**
* 定义一个用于读取加密文件的方法
*/
public void readFile02(){
try{
FileInputStream fiStream=new FileInputStream("D:/t2.txt");
//新建一个与原文件大小相同的数组
byte [] bytes=new byte[fiStream.available()];
//把文件中的东西一次性写入数组
fiStream.read(bytes);
for(int i=0;i<bytes.length;i++){
byte b=bytes[i];
b=(byte)(b-1);
bytes[i]=b;
}
String string=new String(bytes,"gb2312");
System.out.println(string);
}catch (Exception e) {
e.printStackTrace();
}
}
/**定义入口
* @param args
*/
public static void main(String[] args) {
IOfile IO=new IOfile();
//IO.testFile();
//IO.readFile();
//IO.writeFile();
//IO.copyFile("D:/filetest.txt", "D:/t2.txt");
IO.readFile02();
}
}
分享到:
相关推荐
本文将深入探讨如何使用C++编写一个简单但实用的日志文件类,以便在开发过程中记录和分析程序运行情况。 首先,让我们从`logfile.h`头文件开始。这个文件通常会定义我们的日志类`Logger`,它可能包含以下几个核心...
读写ini文件 免费赠送 有需要的下载
易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar ...
c# 操作FTP文件类,代码实现了从ftp服务器下载文件的功能
ftp工具类,包含文件上传,文件删除,文件列表,查询当天文件类表方法
C# 粉碎文件类,处理清理正在使用的文件,结束进程,并使用handle.exe粉碎文件;handle.exe可自己下载!
简单读写INI文件类,每次开发项目都需要读写INI,这个类简单实用,INI文件不存在可以自动创建,可以写初始值。
C#面向对象编程基础文件类的PPT文件Path:对文件或目录的路径进行操作(很方便) [字符串] Directory:操作目录(文件夹),静态类 File :操作文件,静态类,对文件整体操作;拷贝,删除,剪切等 Stream:文件流,...
VC++ 读写INI文件类 以及示例程序 VC++操作INI文件的一个类以及示例程序,将左边列表框的学生姓名写入ini文件,然后从该ini文件读出放到右边的列表框中,也就是读写INI文件,这是操作INI文件最基础的技能,我们编写...
php压缩文件类,可以直接使用,提供多文件的压缩
资源介绍:易语言枚举文件类模块源码例程程序使用寻找文件命令通过递归方式枚举文件。点评:易语言枚举文件类模块源码可以枚举文件、枚举目录以及枚举目录下的所有文件、子目录和子目录下的文件。资源作者:自学...
C#编写的读写ini文件类和发送邮件类(vs.net2003C#), 有好多的程序习惯把配置写到ini文件中,此代码包括 ini操作类和邮件发送类.只要把cs放到到自己的项目中就可以读写ini和发送邮件了.在Main函数中列举了类的使用....
在linux系统下完成类似windows读写ini文件的功能,封装了类似WritePrivateProfileString、GetPrivateProfileString、SetPrivateProfileInt、GetPrivateProfileInt等功能接口。
一般应用程序都会写配置文件(设置启动的一些参数),而配置文件大多都采用ini文件格式,在MFC下ini文件有自己的封装的类,比较容易操作!在此提供纯c++下ini类的读写操作类,当然参数转换之后也可以应用到MFC框架之...
`WavefrontObjLoader`是一个专门为Windows Presentation Foundation (WPF)设计的类,用于加载3D Studio MAX(3DMAX)导出的OBJ格式模型文件。OBJ是一种流行的3D模型文件格式,它支持多边形、曲线和表面,广泛应用于...
curl的类文件大家可以看下,有的的着的地方
php文件上传类,支持同一name的单个文件、多个文件上传,多文件上传时支持事务模式。PHP拷贝文件前可以指定文件类型、后缀、大小
C#-文件压缩操作类(指定文件压缩、指定多文件压缩、压缩包解压)
一个很好用的文件压缩解压类 下了就知道!