文件类的运用和字符串的运用一样,一般不会是很复杂的算法,关键是选取类中正确的方法,这样就能达到很好的运用效果。
输入输出流式文件读取的核心内容,弄懂了这个其实文件这一块就比较容易解决了。首先我是这样记住他们这样的用法。第一就是,读取的时候是要把文件从里面弄出来。所以就是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();
}
}
分享到:
相关推荐
一个很好用的php缓存文件类,得到本类实例,得到缓存信息,设置一个缓存,清除一条缓存,判断缓存是否存在,通过缓存id得到缓存信息路径,通过id得到缓存信息存储文件名,把数据写入文件。
### MFC下的文件类_CFile知识点详解 #### 文件类_CFile概述 在MFC框架中,文件类_CFile提供了一套完整的文件操作解决方案。通过这一类及其派生类,开发者可以方便地处理各种类型的文件,无论是磁盘上的普通文件...
本文将深入探讨如何使用C++编写一个简单但实用的日志文件类,以便在开发过程中记录和分析程序运行情况。 首先,让我们从`logfile.h`头文件开始。这个文件通常会定义我们的日志类`Logger`,它可能包含以下几个核心...
《对话框》之《MFC下的文件类》深入解析 MFC(Microsoft Foundation Classes)是Microsoft为Windows应用程序设计的一种C++类库,其中包含了丰富的文件操作功能。在Visual C++编程环境中,处理文件操作有多种方式,...
c# 中上传大文件 类 FTPc# 中上传大文件 类 FTPc# 中上传大文件 类 FTP
ini读写配置文件类封装
易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar 易语言源码易语言配置文件类模块源码.rar ...
c# 操作FTP文件类,代码实现了从ftp服务器下载文件的功能
ftp工具类,包含文件上传,文件删除,文件列表,查询当天文件类表方法
标题提到的“标准C/C++读写配置文件类”是指一个专门用于处理INI文件的C++类,它使得开发者能够方便地读取和写入配置文件。这类库通常会封装文件操作的复杂性,提供简洁的API供程序员调用。描述中提到的“非常完美的...
简单读写INI文件类,每次开发项目都需要读写INI,这个类简单实用,INI文件不存在可以自动创建,可以写初始值。
介绍一个php读取csv文件类。 csv是逗号分隔值文件格式,一般用WORDPAD或记事本(NOTE),EXCEL打开。 csv(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式。
VC++ 读写INI文件类 以及示例程序 VC++操作INI文件的一个类以及示例程序,将左边列表框的学生姓名写入ini文件,然后从该ini文件读出放到右边的列表框中,也就是读写INI文件,这是操作INI文件最基础的技能,我们编写...
php压缩文件类,可以直接使用,提供多文件的压缩
简单但功能强大的PHP解析RSS文件类,启用缓存,缓存文件是最新,则返回缓存数组,缓存文件如果过期,则创建新的缓存文件,如果未启用缓存,则直接加载文件。Parse() 是由GET()调用的私有方法,用来解析RSS文件,所以...
Educoder题目:Java面向对象 - 文件类答案解析
资源介绍:易语言枚举文件类模块源码例程程序使用寻找文件命令通过递归方式枚举文件。点评:易语言枚举文件类模块源码可以枚举文件、枚举目录以及枚举目录下的所有文件、子目录和子目录下的文件。资源作者:自学...
C#编写的读写ini文件类和发送邮件类(vs.net2003C#), 有好多的程序习惯把配置写到ini文件中,此代码包括 ini操作类和邮件发送类.只要把cs放到到自己的项目中就可以读写ini和发送邮件了.在Main函数中列举了类的使用....
PHP操作xml文件类,生成xml,获取xml内容成数组
配置文件加载类 就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。.